当 `a` 和 `b` 都属于 class `X` 时,`a = b()` 是什么意思?
What does `a = b()` mean when both `a` and `b` are of class `X`?
我正在阅读 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;
会做什么?
尽我所能,我无法找到正确的词来查找此代码的含义。
I know that X foo();
will call X's constructor
不,不会。它将声明(但不定义)一个名为 foo 的函数,该函数不带任何参数,并且 returns 一个 X.
and I'm pretty sure X x;
will not.
是的,如果有的话。通过以上对您理解的更正,您的问题的答案现在应该很明显了,但是:
However, what does the line x = foo();
mean?
表示调用函数foo,并将结果存入x。
我正在阅读 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;
会做什么?
尽我所能,我无法找到正确的词来查找此代码的含义。
I know that
X foo();
will call X's constructor
不,不会。它将声明(但不定义)一个名为 foo 的函数,该函数不带任何参数,并且 returns 一个 X.
and I'm pretty sure
X x;
will not.
是的,如果有的话。通过以上对您理解的更正,您的问题的答案现在应该很明显了,但是:
However, what does the line
x = foo();
mean?
表示调用函数foo,并将结果存入x。