Сегодня я узнал, что этот код как работает. Это звучит очень странно для меня, потому что, насколько я всегда знал, что вы не можете изменить любой из членов Const Cerfer. Вы на самом деле не можете сделать это напрямую, но вы можете вызвать функцию членов Non-Const. Если вы помечаете функцию элементов в виде Const, это означает, что этот указатель, передаваемый на функцию, указывает на объект Const, то как функция Non-Const Clement называется в примере ниже?
#include <iostream>
class X
{
public:
void foo() const
{
ptr->bar();
}
void bar() {}
private:
X * ptr;
};
int main()
{
}