According to the C++ standard, what exactly does a noexcept
noexcept-specification on a class constructor apply to?
- the function-body?
- initialization of members in the optional ctor-initializer?
- initialization of base classes in the optional mem-initializers?
- initialization of class members in the optional mem-initializers?
- the compound-statement?
- the function-try-block?
- initialization of members in the optional ctor-initializer?
- initialization of object base classes not initialized in the ctor-initializer?
- initialization of object class members not initialized in the ctor-initializer?
- something additional?
In other words, which of the above trigger the noexcept
noexcept-specification (i.e. std::unexpected()
is called) if they throw but don't catch an exception?
Please provide references to the standard, if possible. Caveats are also welcome. Thanks!
Aucun commentaire:
Enregistrer un commentaire