在成员函数声明的末尾,'const' 的含义是什么?

870
在这些声明中,const 的意思是什么?
class foobar
{
  public:
     operator int () const;
     const char* foo() const;
};
12个回答

2

const关键字用于函数声明中,指定该函数是常量成员函数,它将无法更改对象的数据成员。

Original Answer翻译成"最初的回答"。


0

const 对象中,只有 const 方法可以被调用。在这样的方法中,所有字段都被视为 const 字段。 最后一个问题有一个有趣的影响:

  • 指针变成了一个固定指针 int* const,它与指向常量的指针 const int* 不同。因此,您可以更改指针指向的对象,但不能使指针指向另一个对象。
  • 引用应该成为一个常量引用,但实际上它始终是一个常量引用:您无法将其重新初始化为另一个对象。但同样,您可以更改引用所引用的对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接