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