Подтвердить что ты не робот

Конструктор с параметром by-value & noexcept

В этом примере код:

explicit MyClass(std::wstring text) noexcept;

Правильно ли используется noexcept? wstring может потенциально бросать на конструкцию, но происходит ли это событие до того, как мы будем в конструкторе или когда мы находимся в конструкторе?

EDIT: предположим, что это можно обобщить на любую функцию, принимающую параметр by-value.

4b9b3361

Ответ 1

Конструкция и разрушение параметров функции происходит в контексте вызывающего. Так что нет, если построение text бросает, это не является нарушением noexcept.

Скоро люди будут комментировать и просить цитату из спецификации:) Итак, я дам вам 5.2.2p4

Инициализация и уничтожение каждого параметра происходит в контексте вызывающая функция.