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