我正在阅读article on rvalue-references,但我对下面的摘录感到困惑:
X foo();
X x;
// perhaps use x in various ways
x = foo();
这里,X是一些用户定义的类型。
我知道X foo();
会调用X的构造函数,我很确定X x;
不会。
但是,x = foo();
行是什么意思?是否有一个名为?的构造函数? x = foo;
会做什么?
尽可能地尝试,我无法找出正确的单词以查找此代码的含义。
答案 0 :(得分:7)
我知道
X foo();
会调用X的构造函数
不,它不会。它将声明(但不定义)名为foo的函数,该函数不接受任何参数,并返回X。
我很确定
X x;
不会。
是的,如果有的话。通过对您理解的上述更正,您的问题的答案现在应该是明显的,但是:
但是,
x = foo();
行是什么意思?
表示调用函数foo,并将结果存储在x。
中