类的函数声明中最后一个“const”的含义?

新手上路,请多包涵

const 在这样的声明中是什么意思? const 让我感到困惑。

 class foobar
{
  public:
     operator int () const;
     const char* foo() const;
};

原文由 user91111 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 395
1 个回答

const 只有对象 const 可以调用方法。这种方法中的所有字段都被视为 const 字段。最后一期有奇怪的效果:

  • 指针变为 const 指针 int* const ,这与指向 const const int* 的指针不同。因此,您可以更改指针指向的对象,但不能使指针指向另一个对象。
  • 引用应该成为一个常量引用,但它始终是一个常量引用:你不能将它重新初始化到另一个对象。但是您可以再次更改引用所指的对象。

原文由 Max Popov 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题