Re[7]: const - когда быть, когда не быть
От: Anton V. Kolotaev  
Дата: 24.04.03 11:10
Оценка: 12 (2) +2
Здравствуйте, Дмитро, Вы писали:

Д>Разве во второй реализации члены-данные m_value1, m_value2 и прочее не относятся к состоянию объекта? Что тогда к состоянию объекта этого класса относится?


Состояние объекта — это то, что ожидает получить клиент класса.

void f(Settings *settings) {
    int v1 = settings->GetValue1();
    int v2 = settings->GetValue1();
    //   v1 == v2!!!
}


Константностью метода GetValue1() автор класса Settings подчеркивает, что если не вызываются неконстантные методы класса, то последовательные вызовы GetValue1() будут давать одно и то же значение, которое с точки зрения клиента является частью состояния класса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.