[英]Cant understand this statement - Return Type after operator
我遇到了以下代码,该类的方法使我感到困惑
class X
{
......
operator string () const {return "X"}
......
}
通常,返回类型在方法的前面。 如果有人可以解释此声明的内容以及有关此声明的详细信息,我将不胜感激
转换运算符是一种特殊的成员函数,可将类类型的值转换为某种其他类型的值。 通常看起来像这样:
operator type() const;
其中type
表示类型。 在您的示例中,它用于将X
类的值隐式转换为string
。
这不是一个以奇怪的方式(如您可能想到的)返回的string
返回的operator()
,它是一个隐式转换运算符,可用于将X
类型转换为string
类型:
X a;
string B = static_cast<string>(a);
另外,看看这个问题 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.