我在C++中有一个非常基本的问题.返回对象时如何避免复制?
这是一个例子:
std::vector<unsigned int> test(const unsigned int n)
{
std::vector<unsigned int> x;
for (unsigned int i = 0; i < n; ++i) {
x.push_back(i);
}
return x;
}
Run Code Online (Sandbox Code Playgroud)
据我了解C++是如何工作的,这个函数将创建2个向量:本地一个(x),以及将返回的x的副本.有没有办法避免副本?(我不想返回指向对象的指针,但是对象本身)
使用"移动语义"(在评论中说明)该函数的语法是什么?