在为内部 vector 分配内存的同时,你能在一行中完成插入操作吗?
vector <vector<int>> myvector;
int a[] = {0, 1, 2, 3, 4};
for (int index = 0; index < 2; index++)
{
myvector.push_back(vector<int>()); //allocate memory for internal vector
myvector[index].insert(myvector[index].begin(), a, &a[5]); //insert
}
最佳答案
是的,std::vector
有一个带有一对迭代器的模板构造函数,因此您可以使用:
myvector.push_back( std::vector<int>( a, a + 5 ) );
一对指针作为一对迭代器。
关于c++ - 插入二维 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3850131/