[英]What does `a = b()` mean when both `a` and `b` are of class `X`?
我正在阅读有关rvalue-references的文章 ,但是我对以下摘录感到困惑:
X foo();
X x;
// perhaps use x in various ways
x = foo();
在此,X是一些用户定义的类型。
我知道X foo();
将调用X的构造函数,我很确定X x;
将不会。
但是, x = foo();
行是什么x = foo();
意思? 有一个叫的构造函数吗? x = foo;
是什么x = foo;
做?
尽我所能,我无法找出合适的词来查找此代码的含义。
我知道
X foo();
将调用X的构造函数
不,不会。 它将声明(但未定义)名为foo的函数,该函数不带参数,并返回X。
我很确定
X x;
将不会。
是的,如果有的话。 通过以上对您的理解的更正,您的问题的答案现在应该显而易见,但是:
但是,
x = foo();
行是什么x = foo();
意思?
这意味着调用函数foo,并将结果存储在x中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.