Может ли функция const member вернуть неконст указатель на член данных?

Код идет первым:

class A
{
    public:
        ...
        int *foo() const
        {
            return _px;
        }
    private:
        int *_px;
}

Функция-член foo возвращает неконстантный указатель на private член _px, что, я думаю, открывает путь к модификации члена _px, верно?

Является ли foo функцией-членом const? Должен ли я добавить const перед возвращаемым типом?

UPDATE

Что должна гарантировать const-член-функция, так это то, что она не может изменить ни один член данных, верно?

В моем случае функция foo не открывает дверь для изменения class As data-member _px, но открывает дверь для изменения того, на что указывает _px, Поэтому мой вопрос в том, нарушает ли это то, что должна гарантировать const-функция?

33
задан Alcott 9 January 2012 в 13:22
поделиться