当“a”和“b”都属于“X”类时,“a = b()”是什么意思?
What does `a = b()` mean when both `a` and `b` are of class `X`?
我正在阅读一篇关于右值引用的文章,但我对以下摘录感到困惑:
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。
是的,我很确定
X x;
不会。
它会的,如果它有一个。通过上述对您的理解的更正,您的问题的答案现在应该很明显,但是:
但是,这条线
x = foo();
是什么意思?
这意味着调用函数 foo,并将结果存储在 x 中。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思