Показать сообщение отдельно
  #20 (permalink)  
Старый 15.07.2015, 13:11
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
в этом варианте исходное t не тронуто, а в нижнем модифицирует
Тронуто, просто и на "d" и на "b" приходится своя собственная копия "t".

Цитата:
я так понимаю, return возвращает копию чтоли, а не ссылку на локальную переменную?
Не совсем.
Не существует никаких локальных переменных. Каждый вызов функции Test создает новую область видимости, в которой создаются абсолютно новые переменные, в которые записываются ссылки на абсолютно новые объекты.

Сообщение от safort
Нет. Ты каждый раз создаёшь новый объект.
Сообщение от рони
каждый раз Test() создаёт новый обьект
Сообщение от foo
твой ретурн возвращает не копию и не ссылку, он возвращает новый объект.
Ответить с цитированием