Are those functions correctly implementing noexcept
/ throw()
Fisrst function
void do_something(const std::string s) noexcept{
// do something with no exception
}
do_something("Hello");
"Hello" literal
will create new std::string
object and it might throw an exception.
Is this exception will be thrown outside of the function or inside?
Second function:
size_t do_something(const char *s) noexcept{
return strlen(s);
}
do_something(nullptr);
strlen
will crash, because s
is nullprt
. However this crash is nothing to do with exceptions. Is the assumption correct?
Aucun commentaire:
Enregistrer un commentaire