我有一个元素数组,我想复制到另一个数组并将其移动1个位置。就这样:
void Blubb(){
std::vector<double> array1(n);
std::vector<double> array2(n+1);
while(//a condition){
//do some stuff
for(int i = 0; i < (n+1); i ++){
array1[i] = array2[i+1];
}
//do some more stuff
}
}
array2中的第一个元素故意不属于array1。
有没有&#34;容易&#34;这样做的方法?容器类是否已提供类似的东西?或者我应该尝试其他课程吗?
答案 0 :(得分:1)
看起来您忘记了std :: vector的模板参数。无论如何,尝试类似的事情:
std::vector<int> array2(n+1);
std::vector<int> array1(array2.begin()+1, array2.end());
答案 1 :(得分:0)
首先,您需要一个模板参数:将所有std::vector
替换为std::vector<int>
,将int
替换为您正在使用的任何类型。
首先复制矢量:
std::vector<int> array2(n+1);
// fill the vector
std::vector<int> array1(array2);
(注意必须首先声明array2。)
其次,删除第一个元素:
array1.erase(array1.begin());
希望这有帮助!