![]() |
1
5
在你的具体情况下,它们很可能都是一样的。由godbolt和gcc-O3得到的代码是 https://godbolt.org/g/XQJ3Z4
是:
这个
但是,如果强制函数不内联,则情况会有一些变化
像这样的问题,学着去爱 https://godbolt.org 和 https://quick-bench.com/ (快速板凳要求你学会如何 使用 谷歌测试 ) |
![]() |
2
5
参数传递的效率取决于ABI。 Itanium C++ ABI 指定将引用作为指向引用对象的指针传递:
这与引用类别(rvalue/lvalue引用)无关。 从更广泛的角度来看,我在丹麦技术大学的一份文件中找到了这句话, calling convention ,它分析了大多数编译器: 因此,rvalue和lvalue引用涉及所有ABI上的指针开销。 |