在C++程序中,如何把多个vector中的内容放到一个vector中?

这些vector都是要再次被使用的。
2025-03-06 19:17:58
推荐回答(5个)
回答1:

vector 是要求其内容类型完全一致的,如果所说的多个vector是同一类型,当然是可以的,可以声明如下的嵌套vector。
vector< vector >
如果多个vector不为同一类型,也许只能把多个vector的指针放进去了。

所以单个和多个存放并没有多大的区别。

[补充]把一个vector放入另一个vector当中
大致有一下几种方法实现用于把一个vector赋值给另一个vector:
方法1:
vector v1(v2);//声明

方法2:使用swap进行赋值:

vector v1();v1.swap(v2);//将v2赋值给v1,此时v2变成了v1

方法3:使用函数assign进行赋值:
vector v1;//声明v1
v1.assign(v2.begin(), v2.end());//将v2赋值给v1
方法4:使用循环语句赋值,效率较差
vector::iterator it;//声明迭代器
for(it = v2.begin();it!=v2.end();++it){//遍历v2,赋值给v1
v1.push_back(it);

回答2:

vector 是要求其内容类型完全一致的,如果你所说的多个vector是同一类型,当然是可以的,可以声明如下的嵌套vector。

vector< vector >

如果多个vector不为同一类型,你也许只能把多个vector的指针放进去了。

回答3:

std::vector> int_vec; 在模版参数里写入其他类型的vector就可以了,比如要在一个vector里放入多个string类型的vector;
std::vector> str_vec;

回答4:

首先要保证存放的是同一类型的数据。然后再一次pop每个向量的同时向另外一个向量里push,顺序是自己决定的。根据你数据使用需要

回答5:

放vector的指针地址啊。。。通过vector的指针访问其它vector。如果真正多个vector内容放进一个vector。那vector意义就不大了。