gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:58 27 4
gpt4 key购买 nike

我正在阅读 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 的函数,该函数不接受任何参数,并返回一个 X。

and I'm pretty sure X x; will not.

是的,如果有的话,它会的。通过以上对您的理解的更正,您的问题的答案现在应该很明显了,但是:

However, what does the line x = foo(); mean?

表示调用函数foo,并将结果存入x。

关于c++ - 当 `a = b()` 和 `a` 都属于 `b` 类时, `X` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47007466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com