繁体   English   中英

当a和b都属于X类时,a = b()是什么意思?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM