1
8
是的,简单对象应该按值传递。这条线必须根据建筑来画。如有疑问,请概述。 |
2
1
传递常量引用可避免构造新对象。如果您的构造函数是非常重要的,例如,它分配内存,那么您将 许多的 传递常量引用比传递值更好。 在C世界中,您通过选择是创建类还是结构来做出这个决定。类使用引用语义,而结构使用值语义。我读过的每一篇文章都说,一般来说,你应该选择把每件事情都变成一个类,除非它非常小,即16字节的顺序。如果您正在寻找何时通过C++中的值与const引用的截断,那么16字节似乎是一个合理的阈值。 |
3
1
就像策略一样,我通过常量引用传递任何不是基本C数据类型的对象。这样更容易记住。 |
4
1
一个古老的,但清晰的,通过参数的输入-输出分析可以在 http://www.ddj.com/184403855 . 当然,C++0X消除了许多与移动语义相关的问题,但是本文提供了很多理由来说明为什么移动语义是可取的。 |
5
1
我没有提到的一个因素是例程将如何处理传入的值。除非该例程以内联方式展开,否则通过引用传递的操作数据将需要比通过值传递的操作数据更多的代码。如果传入结构的字段平均访问次数少于一次,那么与复制结构的开销相比,这个额外开销将很小。如果它们平均每个都要被访问多次,那么将它们放在堆栈中可能会更好。如果接口已经被设置为大量访问的结构的旁路引用,那么被调用的例程复制所有感兴趣的部分可能是有意义的。另一方面,如果被调用的例程无论如何都要复制结构的大部分或全部,那么它也可以通过值传递。 |
6
0
如果你通过一个物体
|
Tono Nam · 无法在golang中通过引用修改对象 2 年前 |
uzivanky · 课堂上不同的“this” 6 年前 |
Henry Marshall · 通过引用替换JS对象[重构工作代码] 6 年前 |
user9441223 · 通过引用传递对象并将其存储为成员变量 6 年前 |
Enryu · 参考变量参数vs局部参考变量[关闭] 6 年前 |
Tryer · 计算不同类别对象的数量 6 年前 |