Здравствуйте, sci_reseacher, Вы писали:
_>Уважаемые форумчане!
_>Как наиболее эффективно (правильно) выполнить передачу (копирование, перемещение ... ) значений из одного вектора x (внутри объекта некоторого класса) в другой вектор y или z, который находиться вне класса в С++11?
| | Скрытый текст |
| | _>
_>class A {
_> std::vector<int> x;
_>public:
_> A(){
_> x.resize(5,10);
_> }
_> const std::vector<int> & f(){
_> return x ;
_> }
_> void g(std::vector<int>::iterator beg){
_> std::copy(x.begin(),x.end(),beg);
_> }
_>};
_>int main(){
_> A a;
_> std::vector<int> y(5);
_> std::vector<int> z(5);
_> y = a.f();
_> a.g(z.begin());
_> for(auto elem: y) std::cout << elem << " ";
_> for(auto elem: z) std::cout << elem << " ";
_>}
_>
|
| | |
Я бы юзал std::swap (для перемещения)