不了解const方法声明

smw*_*dia 5 c++

太多的C#和太少的C++让我头晕目眩......有人能提醒我这个c ++声明是什么意思吗?具体来说,结尾是"const".非常感谢.

protected:
     virtual ostream & print(ostream & os) const
Run Code Online (Sandbox Code Playgroud)

Dan*_*llo 10

const方法将简单地接收一个const this指针.

在这种情况下,this指针将是const ThisClass* const类型而不是通常的ThisClass* const类型.

这意味着无法从const方法内部修改成员变量.甚至const不能从这种方法调用非方法.但是,成员变量可以声明为mutable,在这种情况下,此限制将不适用于它.

因此,当您有一个const对象时,编译器允许您调用的唯一方法是const关键字标记为安全的方法.