Что такое корреспондент ruby ​​`Object # freeze` в C ++? - PullRequest
0 голосов
/ 31 марта 2012

freeze метод, который делает объект динамически, становится константой. Есть ли способ достичь этого в C ++? как сначала присвойте значение std::string, затем заблокируйте его, чтобы предотвратить дальнейшие изменения.

1 Ответ

1 голос
/ 31 марта 2012

Вы объявляете объект как const .

Используя квалификатор const, вы можете инициализировать объект при его создании, и любые попытки изменить этот объект в ходе программы приведут к неопределенному поведению, что в основном означает, что пользователям запрещено изменять его,это имитирует эффект freeze , который вы ищете.

...