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