当对象足够重以避免复制时

When is an object heavy enough so as to avoid copying?

本文关键字:复制 对象      更新时间:2023-10-16

嗯,我相信标题很简单。我读过很多次,一个人应该避免复制重物,这似乎很合理(谁会想成为一个记忆猪?问题是,什么时候应该认为一个物体很重?有多少成员?

只要您传递的对象大于指针的大小(通常在 32 位上为 4 个字节,在 64 位上为 8 个字节),那么避免复制会更有效。

是否应该通过引用/指针传递它取决于这将需要多少额外的工作,以及您将如何处理数据。如果你通过引用传递它只是为了创建一个副本并在你的函数中修改它,那么你就违背了目的。任何时候将其作为 const 按引用传递就足够了,那么这样做可能是个好主意。

但是,请注意,大多数编译器都足够智能,可以在使用优化功能编译代码时优化只读对象的复制。所以你不必真正担心它,除非它成为一个瓶颈,你可以定量地证明它。