This commit is contained in:
Vladimir Gamalian 2015-09-22 10:06:44 +07:00
parent 62324b2304
commit ed78161416

View File

@ -8411,7 +8411,7 @@ The `noexcept` here states that I am not willing or able to handle the situation
void leak(int x) // don't: may leak
{
auto p = new int{7};
int (x<0) throw Get_me_out_of_here{}; // may leak *p
if (x<0) throw Get_me_out_of_here{}; // may leak *p
// ...
delete p; // we may never get here
}
@ -8421,7 +8421,7 @@ One way of avoiding such problems is to use resource handles consistently:
void no_leak(int x)
{
auto p = make_unique<int>(7);
int (x<0) throw Get_me_out_of_here{}; // will delete *p if necessary
if (x<0) throw Get_me_out_of_here{}; // will delete *p if necessary
// ...
// no need for delete p
}