Dire che ho il seguente:Può std :: vector essere = 'd in un altro std :: vector?
std::vector<int> myints;
e poi ho una funzione che restituisce un int vettore:
std::vector<int> GiveNumbers()
{
std::vector<int> numbers;
for(int i = 0; i < 50; ++i)
{
numbers.push_back(i);
}
return numbers;
}
potrei poi fare:
myints = GiveNumbers();
sarebbe fare questo in modo sicuro fai in modo che myint abbia i numeri da 0 a 49 in esso e nient'altro? Farebbe chiaramente ciò che avrebbe potuto essere in myints in precedenza? Se no, qual è il modo giusto per farlo?
Grazie
+1 per avvertire sull'efficienza. – Brian
Non dovrebbe essere inefficiente se il compilatore supporta RVO. – jamesdlin
RVO dovrebbe ridurlo solo dalla copia di twic4e alla copia una volta. –