Re[4]: throw, wchar_t* и память
От: Seal08  
Дата: 15.04.08 09:35
Оценка:
Здравствуйте, Bell, Вы писали:

__>>Я теперь понял, что происходит при передаче по ссылке: вызывается конструктор копирования

B>Это заблуждение. Дело не в передаче по ссылке, а в том, как именно создается объект — исключения. А создается он как копия объекта, указанного в throw (здесь
Автор: Bell
Дата: 02.12.03
). Так что ссылка в catch совершенно не при чем.


Копия создаётся именно в catch, например если написать

catch(const CSomeException& exc)


а не

catch(CSomeException& exc)


то никакой копии создаваться не будет и программа отработает нормально (только что проверил в gcc).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.