Первый код:
class A
{
public:
...
int *foo() const
{
return _px;
}
private:
int *_px;
}
Функция-член foo возвращает указатель не const для private member _px, который, я думаю, открывает дверь для изменения члена _px, правильно?
Является foo a const функцией-членом? Должен ли я добавить const перед типом возврата?
UPDATE
Что должна гарантировать функция const-member-функция, она не может изменить какой-либо элемент данных, правильно?
В моем случае функция foo не открывает дверь для изменения class A данных-члена _px, но открывает дверь для изменения того, что указывает _px. Так что мой вопрос заключается в том, что это нарушает то, что функция const должна гарантировать?