В многопоточном сценарии у меня есть такой метод:
bool WaitForChange( time_duration WaitTime ) const;
Этот метод ожидает либо до тех пор, пока состояние объекта не изменится и возвращает истину, либо до истечения времени ожидания (как вы это говорите?) И возвращает ложь.
Моя интуиция заключается в том, что const
предназначен для защиты от нежелательных побочных эффектов самого метода, так что это нормально. Но с другой стороны, некоторые пользователи могут подумать, что состояние оператора не могло измениться, поскольку метод объявлен const
. Это глупый пользователь, или я должен сделать метод не-const
, чтобы избежать путаницы?