在这些声明中,
const
的意思是什么?class foobar
{
public:
operator int () const;
const char* foo() const;
};
const
的意思是什么?class foobar
{
public:
operator int () const;
const char* foo() const;
};
const关键字用于函数声明中,指定该函数是常量成员函数,它将无法更改对象的数据成员。
Original Answer翻译成"最初的回答"。在 const
对象中,只有 const
方法可以被调用。在这样的方法中,所有字段都被视为 const
字段。
最后一个问题有一个有趣的影响:
int* const
,它与指向常量的指针 const int*
不同。因此,您可以更改指针指向的对象,但不能使指针指向另一个对象。