【发布时间】:2021-01-23 01:16:01
【问题描述】:
我有两个向量 old 和 newone
我想将 newone 的值复制到 old 中最快的方法是什么
我认为我可以使用指针,但我也认为分配
newone = old
也会这样做
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int main()
{
vector<int> old = {1,2,3};
vector<int> newone = {4,5,6};
newone = old;
for( auto x : newone ){
cout<<x<<endl;
}
}
有没有什么方法可以在 0(1)/常数时间内完成??除了指针
【问题讨论】:
-
您不能在
O(n)时间内复制大小为n的向量。不过,您可以在恒定时间内移动它。 -
newone = std::move(old);