怎么在C++中用Vector存放不同类型的数据.. C++的vector存储数据的问题

C++vector\u5bb9\u5668\u5bb9\u7eb3\u4e0d\u540c\u7ed3\u6784\u7684\u6570\u636e

vector vec1;
vector vec2;
vector vec3;
vector vec4;
vector vec5;
vector vec6;
vector vec7;
vector vec8;
......

\u5982\u679c\u4f60\u7684\u6307\u9488\u5185\u5b58\u7a7a\u95f4\u5206\u914d\u5728\u5806\u4e0a\uff0c\u76f4\u63a5\u5b9a\u4e49std::vector v; v.push_back(p); //\u5b58\u653e\u7684\u662f\u6307\u9488
\u5982\u679c\u5206\u914d\u5728\u6808\u4e0a\uff0c\u53ef\u4ee5\u5b9a\u4e49std::vector v; v.push_back(*p); //\u5b58\u653e\u7684\u662f\u7c7b\u7684\u5b9e\u4f8b

namespace std {
template<class T,class A = allocator<T> > struct vector {
typedef typename A::value_type value_type;
typedef typename A::reference reference;
typedef A allocator_type;
typedef typename A::pointer pointer;
typedef typename A::size_type size_type;
// ...

explicit vector() throw() : sz(0), random_ptr() { }
// ...
void push_back(const value_type& v) {
!random_ptr ? random_ptr = new T(v): new(random_ptr+sz) T(v);
sz++;
}
reference operator[](size_type ind) { return *(random_ptr+ind); }
size_type size() const { return sz; }
// ...
private:
size_type sz;
pointer random_ptr;
};
}
在此我并没有考虑到push_back()牵涉到的reserve(),只是大致上如此。如果你要想这段代码能在main()下运行,请定义一个合适的析构函数。

vector<anything_t *>
其中
typedef struct taganything
{
void *data;
int length;
} anything_t;
boost.any我不懂。

  • 璇烽棶濡備綍鐞嗚Вc++涓殑vector,鐪嬪埌杩欓噷,绠鐩翠竴澶撮浘姘村晩,姹傝瑙,鏈濂借兘鏈...
    绛旓細鎴戜篃鏄垵瀛︼紝鍙互鐞嗚В涓哄彲鍔ㄦ佸闀跨殑鏁扮粍銆傚鏋滀綘鎯抽棶鐨勬槸娉涘瀷閭e氨涓嶇敤寰涓嬬湅浜嗭紝鎴戜篃娌℃湁瀛﹀埌銆vector鏄疌++鏍囧噯搴撲腑鐨勪竴涓緢濂界敤鐨勫鍣ㄣ傚彲浠瀛樻斁浣犳兂瑕佺殑浠讳綍鏁版嵁锛岃屼笖瀹夊叏銆倂ector<int> vec;vec鏄竴涓瓨鏀綢nt鐨勭┖鍚戦噺锛寁ec鏀寔浠ヤ笅鎿嶄綔 vec.begin()鑾峰彇绗竴涓厓绱犵殑杩唬鍣紙鍙互鐞嗚В涓烘寚閽堬級锛...
  • c++涓殑vector鏄濡備綍淇濆瓨string鐨?
    绛旓細鐪嬩簡閭d箞澶氫汉鐨勫洖绛旓紝鍥炵瓟鐨勫嵈閮芥槸淇濆瓨鎸囬拡鐨勮娉曪紝鍏跺疄杩欐槸閿欒鐨勶紝STL涓殑鎵鏈夊鍣ㄦ彁渚涚殑閮芥槸鍊艰涔夛紝涔熷氨鏄褰撲綘鎶婁竴涓猻tring瀵硅薄鏀惧叆vector鏃讹紝vector涓繚瀛鐨勬槸string鐨勪竴涓畬鏁寸殑鎷疯礉锛岃屼笉鏄寚閽堛傚浜庤繖涓鐐瑰湪銆奀++ Standard Library: A Tutorial and Reference銆嬩竴涔︿腑鐨5.10.2鑺備腑鏈夎缁...
  • C++涓 vector涓瓨鍌缁撴瀯浣(杈撳嚭vector鏃堕亣闂)
    绛旓細test鏄儚瀹瑰櫒涓鏍风殑锛 閲岄潰鐨勫厓绱犳槸temp,浣犲鏋滆杈撳嚭锛屽簲璇ユ槸cout<<test[0].s 杩欓噷鐨則est[0]灏辨槸 test.push_back(temp) 閲岀殑temp鍟
  • c++ 鐢╲ector 瀹氫箟浜岀淮鏁扮粍
    绛旓細鈥滀簩缁粹濄佲滃缁粹濇暟缁勫湪鍒濈骇缂栫▼鍜岃В绠楁硶棰樻椂浼氳鎻愬埌骞舵祦琛 鐪熸鍦ㄥ疄鐢ㄤ腑鏄緝灏戠敤鍒扮殑銆傚疄鐢ㄤ腑澶氱敤鐨勬槸鈥滆鏁扮粍鐨勬暟缁勨濄vector<vector<int>> v;杩欎釜灏辨槸"浜岀淮"锛屽彲浠ョ敤v.size()鐩存帴寰楀埌琛屾暟 argv[] 杩欎釜涔熸槸"浜岀淮"銆
  • C璇█涓濡備綍鐩存帴灏嗕竴琛屾湭鐭ユ暟閲忕殑鏁版彃鍏vector鏁扮粍?
    绛旓細vector <int>vc锛沬nt num锛宼emp锛沜in>>num锛沠or锛坕=0锛沬<num锛沬++锛墈 cin>>temp锛泇c.push_back锛坱emp锛夛紱}
  • vector鐨勮缁嗚鏄
    绛旓細鍥犳,鎴戜滑鍙互瀹氫箟淇濆瓨 string 瀵硅薄鐨 vector,鎴栦繚瀛 int 鍊肩殑 vector,鍙堟垨鏄繚瀛樿嚜瀹氫箟鐨勭被绫诲瀷瀵硅薄(濡係ales_items 瀵硅薄)鐨 vector銆倂ector 涓嶆槸涓绉嶆暟鎹被鍨,鑰屽彧鏄竴涓被妯℃澘,鍙敤鏉ュ畾涔変换鎰忓绉嶆暟鎹被鍨嬨倂ector 绫诲瀷鐨勬瘡涓绉嶉兘鎸囧畾浜嗗叾淇濆瓨鍏冪礌鐨勭被鍨 銆備负浜嗗彲浠浣跨敤vector锛屽繀椤诲湪浣犵殑澶存枃浠朵腑...
  • c++涓vector鏄粈涔堟剰鎬
    绛旓細缂栫▼璇█鏂归潰锛vector鏄疌++鏍囧噯妯℃澘搴撲腑鐨勯儴鍒嗗唴瀹癸紝涓枃鍋跺皵璇戜綔鈥滃鍣ㄢ濓紝浣嗗苟涓嶅噯纭傚畠鏄竴涓鍔熻兘鐨勶紝鑳藉鎿嶄綔澶氱鏁版嵁缁撴瀯鍜岀畻娉曠殑妯℃澘绫诲拰鍑芥暟搴撱倂ector涔嬫墍浠ヨ璁や负鏄竴涓鍣紝鏄洜涓哄畠鑳藉鍍忓鍣ㄤ竴鏍瀛樻斁鍚勭绫诲瀷鐨勫璞★紝绠鍗曞湴璇达紝vector鏄竴涓兘澶熷瓨鏀句换鎰忕被鍨嬬殑鍔ㄦ佹暟缁勶紝鑳藉澧炲姞鍜屽帇缂╂暟鎹...
  • vector涓厓绱犲湪鍐呭瓨涓槸杩炵画瀛樺偍鐨勫悧?濡傛灉鏄痵tring绫诲瀷鐨勫厓绱犲憿?_鐧 ...
    绛旓細vector涓殑鍏冪礌鍦ㄥ唴瀛樹腑纭疄鏄繛缁瀛樺偍鐨. vector鐨勫疄鐜版槸鐢变竴涓姩鎬佹暟缁勬瀯鎴. 褰撶┖闂翠笉澶熺殑鏃跺, 閲囩敤绫讳技浜C璇█鐨剅ealloc鍑芥暟閲嶆柊鍒嗛厤绌洪棿. 姝f槸鍥犱负vector涓殑鍏冪礌鏄繛缁瓨鍌ㄧ殑, 鎵浠ector鏀寔甯告暟鏃堕棿鍐呭畬鎴愬厓绱犵殑闅忔満璁块棶. vector涓殑iterator灞炰簬Random Access Iterator.濡傛灉vector鍌ㄥ瓨鐨勬槸string绫诲瀷....
  • C++璇诲彇鏂囦欢鍐呭濡備綍浣跨敤vector瀹瑰櫒杩涜璇诲彇?
    绛旓細{ int a[7]={1,2,3,4,5,6,7};vector<int> va(a,a+7); for(int i=0;i<va.size();i++)cout<<va[i]<<" ";} 杩欎釜鏄畝鍗曠殑閬嶅巻鍚戦噺锛岃緭鍑哄悜閲忓叏閮ㄥ厓绱犮 2).杩欐槸绠鍗曠殑浠庡悜閲 test.txt 鏂囨湰鏂囦欢涓彁鍙栨暟鎹埌鍚戦噺 vector<string> va 涓紝鐒跺悗鍦ㄨ緭鍑恒倀est.txt 鐨勬枃鏈唴瀹...
  • C璇█涓vector<int> vec[max];鏄畾涔
    绛旓細vector灏辨槸涓绉嶆暟缁勶紝渚嬪瀹氫箟 vector<int> a;鍙鐢╬ush_back寰a閲屾坊鍔犱簡鍏冪礌锛屽氨鍙互鐢╝[0]杩欐牱鐨勬牸寮忔潵璇诲彇閲岄潰鐨勫厓绱犮
  • 扩展阅读:c++ vector头文件 ... c++vector int char ... c++ vector方法 ... iterator c++ 用法 ... void在c++中的用法 ... vector冲锋枪 ... vector c++ 用法 ... c++vector查找 ... c++ vector find ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网