【发布时间】:2013-05-11 17:47:46
【问题描述】:
以此为例:
const Integer operator+(const Integer& left, const Integer& right) {
return Integer(left.i + right.i);
}
(取自 Thinking in C++ 第 496 页)return 语句之后的部分是什么? cast(使总和的结果成为Integer)还是调用class Integer 的构造函数?或者也许是我忽略的其他东西..
这是构造函数:
Integer(long ll = 0) : i(ll) {}
编辑:
i 是long int。
【问题讨论】:
-
称为显式类型转换(函数式表示法)。这种表示法可以表示构造函数调用、对用户定义的类型转换运算符的调用或内置转换,具体取决于源类型和目标类型。在您的情况下,这是一个构造函数调用。
-
你可以随时通过在里面添加输出语句来查看构造函数是否被使用。
标签: c++ syntax syntactic-sugar