据我所知,你不应该在c ++中通过引用传递简单类型,因为它不会提高性能,甚至对性能有害(?).至少那是我设法从网上收集的.
但是我无法找出它对性能有害的原因,是因为c ++创建一个新的简单类型比它看起来变量或它是什么更快?
如果你创建一个引用,它是:
pointer to memory location -> memory location
Run Code Online (Sandbox Code Playgroud)
如果你使用一个值,它是:
memory location
Run Code Online (Sandbox Code Playgroud)
由于必须以任一方式(引用或值)复制值,因此通过引用传递不会提高性能; 必须进行一次额外的查询.因此,理论上它会"恶化"性能,但不是你会注意到的任何数量.