В соответствии со стандартом С++, что именно спецификация noexcept
noexcept для конструктора классов применяется к?
- тело функции?
- инициализация членов в необязательном ctor-инициализаторе?
- инициализация базовых классов в необязательных mem-инициализаторах?
- инициализация членов класса в необязательных mem-инициализаторах?
- составной оператор?
- функция-try-block?
- инициализация членов в необязательном ctor-инициализаторе?
- инициализация базовых классов объектов, не инициализированных в ctor-инициализаторе?
- инициализация элементов класса объектов, не инициализированных в ctor-инициализаторе?
- что-то дополнительное?
Другими словами, какое из перечисленных выше охватывает спецификация noexcept
noexcept-спецификация (т.е. триггер std::terminate()
при бросании исключения, если noexcept(true)
)?
Просьба привести ссылки на стандарт. Также приветствуются советы по любым оговоркам с использованием noexcept
для конструкторов. Спасибо!