mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2024-03-22 13:30:58 +08:00
commit
9c81002f65
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user