相关疑难解决方法(0)

使用"return"语句避免对象的副本

我在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的副本.有没有办法避免副本?(我不想返回指向对象的指针,但是对象本身)


使用"移动语义"(在评论中说明)该函数的语法是什么?

c++ copy return object return-value

34
推荐指数
3
解决办法
2万
查看次数

标签 统计

c++ ×1

copy ×1

object ×1

return ×1

return-value ×1