Повреждения из-за передачи по значению в C++ ⇐ C++
-
Anonymous
Повреждения из-за передачи по значению в C++
В книге Герберта Шилдта «IT-Tutorial по C++», глава 9, страница 368, указывается на следующую проблему:
Даже если вы передаете объект функции по значению (в этом случае переданный объект должен быть теоретически изолирован и защищен), объект все равно может быть изменен или даже уничтожен из-за побочных эффектов. Это может произойти, когда деструктор объекта вызывается внутри функции для удаления локальной копии объекта.
Этот абзац был написан, чтобы мотивировать использование конструкторов копирования.
К сожалению, мне не удалось найти минимальный пример, воспроизводящий такое поведение, хотя большинство других проблем в книге документированы на простых примерах. Не могли бы вы предложить что-нибудь?
В книге Герберта Шилдта «IT-Tutorial по C++», глава 9, страница 368, указывается на следующую проблему:
Даже если вы передаете объект функции по значению (в этом случае переданный объект должен быть теоретически изолирован и защищен), объект все равно может быть изменен или даже уничтожен из-за побочных эффектов. Это может произойти, когда деструктор объекта вызывается внутри функции для удаления локальной копии объекта.
Этот абзац был написан, чтобы мотивировать использование конструкторов копирования.
К сожалению, мне не удалось найти минимальный пример, воспроизводящий такое поведение, хотя большинство других проблем в книге документированы на простых примерах. Не могли бы вы предложить что-нибудь?
Мобильная версия