|
1
16
我的心理能力告诉我你在Visual C++上编译这就是为什么它能工作。在标准C++中,不能传递rValm(这是返回值的值)。
但是,如果您更改的签名,该问题仍然有效
该标准没有规定函数参数抑制RVO的任何方式,但是,当然,RVO是编译器的一项任务,它要求编译器进行特定的优化,而不考虑明显的副作用,而不是 要求 去做吧。RVO何时(如果)发生完全取决于您使用的特定编译器。也就是说,似乎没有任何理由让它受到任何影响。 |
|
|
2
4
在C++中,不能将临时对象传递给一个非常量引用的函数。上面发布的示例不会编译。如果你的编译器编译它,它是你的编译器的一个怪癖(扩展)。如果您的编译器在编译它时甚至没有发出诊断消息,那么您的编译器就坏了。
临时对象
在这种情况下,引用将直接绑定到
|
|
|
Kris · 有没有办法获得可变结构字段的“引用” 4 年前 |
|
|
Jora Karyan · IF语句未按预期引发错误 4 年前 |
|
|
nedzad · 如何访问引用Firebase中其他对象的对象 8 年前 |
|
|
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 8 年前 |