c++ - 通过 const 引用传递 Qt 类

标签 c++ qt reference copy-on-write

众所周知,Qt 类使用 copy-on-wite按值传递时。因此,直到需要时才进行复制。当只需要对对象进行只读访问时,我已经看到很多次通过 const 引用传递 Qt 类。为什么人们传递 const QString& 而不是简单的 QString 如果在这两种情况下都没有完成复制?

最佳答案

这是因为魔法是有代价的。 QString 不会复制整个字符串,但会计算引用。 QString 的多次复制会减慢程序的速度。如果 const QString& 足以满足您的需求,为什么不使用它呢?它仍然更快。

关于c++ - 通过 const 引用传递 Qt 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17071530/

相关文章:

c++ - 更改或替代系统提示音?

qt - 将 OpenCV IplImage 渲染到 QGLWidget

c++ - Qt 如何从外部 Qt 样式表文件应用样式?

c++ - 未定义对 vtable 的引用... Q_OBJECT 宏

c - C 中 Void 函数在 vector 上的返回

c++ - 为什么用这个 OpenGL 上下文创建的窗口会以透明方式打开?

c++ - 复杂情况下如何进行宏替换?

c++ - C++ 中的 sqrt 函数

c# - 为什么字符串不比较引用?

java - java 按引用 vs 按值