c++ - 无法理解此语句 - 运算符后的返回类型

标签 c++ c++98

我遇到了下面的代码,类的方法让我很困惑

class X
{
    ......
    operator string () const {return "X"}
    ......
}

通常返回类型在方法之前。如果有人可以解释此声明的作用以及有关此声明的详细信息,我将不胜感激

最佳答案

这不是一个返回 stringoperator() 以一种奇怪的方式编写(正如您可能认为的那样),它是一个隐式转换运算符,可以使用将 X 类型转换为 string 类型:

X a;
string B = static_cast<string>(a);

另外,看看 this question .

关于c++ - 无法理解此语句 - 运算符后的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19288647/

相关文章:

c++ - 通过返回的指针填充私有(private)域

c++ - 为什么输出不同,这段代码有什么问题?

c++ - 停止 C++98 和 C++11 的隐式转换

c++ - 帮助构建 boost asio ssl 示例

c++ - 实现 "Reload"函数

c++ - 如何将 boost::posix_time::ptime 与毫秒进行比较?

c++ - 将一段文本读入字符串 vector

c++ - 成员变量继承

c++ - "cannot convert ' 单链表<int>::节点* ' to ' int* ' in assignment compilation terminated due to -Wfatal-errors."

c++ - 再次 double 四舍五入