Почему объект передаваемый в исключении может приниматься по ссылке, хотя он должен только копироваться, то есть при раскрутке стека он копируется из одной области видимости в другую
Ответ
При выбрасывании исключения оно копируется в специальную область памяти для хранения исключений (или, по возможности, сразу создается в этой области). Поэтому перехватывая исключение по ссылке вы получаете ссылку на этот объект, а не на некоторый объект, который раньше был на стеке. При этом перехватывание исключения по ссылки является предпочтительным в плане производительности по сравнению с перехватыванием по значению, так как в этом случае не происходит копирования.
Комментариев нет:
Отправить комментарий