Побочные эффекты при передаче объектов в функции в C ++

Я прочитал в C ++: The Complete Reference , книга следующая

Хотя объекты передаются функциям с помощью нормальный механизм передачи параметров по значению, который теоретически защищает и изолирует вызывающий аргумент, все же возможно возникновение побочного эффекта , который может воздействовать на объект, используемый в качестве аргумента , или даже повредить его. Например, если объект, используемый в качестве аргумента, выделяет память и освобождает эту память при уничтожении, то его локальная копия внутри функции освобождает ту же память, когда ее деструктор равен {{1 }} называется. Это оставит исходный объект поврежденным и фактически бесполезным.

Я не очень понимаю, как возникает побочный эффект. Может ли кто-нибудь помочь мне понять это на примере?

5
задан nitin_cherian 14 October 2011 в 04:20
поделиться