gpt4 book ai didi

c++ - 我什么时候应该选择复制省略而不是通过 const 引用传递参数?

转载 作者:可可西里 更新时间:2023-11-01 17:37:14 31 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Is pass-by-value a reasonable default in C++11?

我正在阅读 Want Speed? Pass by Value. Dave Abrahams 关于复制省略和 RVO 的文章。我想知道为什么我们需要复制省略?

我被告知太多次你应该通过 const 引用传递函数参数以避免复制(我读过的几乎每本 C++ 书籍都告诉我这一点)。

假设我们有两个函数:

int f1(const string &s);
int f2(string s);

如果实参是右值,两个函数都将避免复制。但是如果实参是一个左值,复制只会在 f1 中被避免,而不是在 f2 中。那么,为什么我们需要此功能?

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com