рассмотрим следующий код:Другой тип "const"?
class Bar
{
public:
int GetValue() const { return aVeryImportantValue; }
void SetValue(int value) { aVeryImportantValue = value; }
private:
int aVeryImportantValue;
};
class Foo
{
public:
Foo(const Bar &bar) : _bar(bar) {}
void SetBar(const Bar &bar) { _bar = bar; }//my compiler won't like this
int GetValue() const { return _bar.GetValue(); }
private:
const Bar &_bar;
};
Что делать, если я хочу, чтобы иметь возможность «осмотреть» различные объекты Bar через Foo, но и гарантировать, что Foo не будет на самом деле изменить содержимое бара? Является ли это возможным?
Вместо ссылки на const, которую вы пытаетесь изменить (но не можете), можете ли вы использовать указатель const? 'const Bar * _bar;'? – abelenky