Why does C++ avoid using new and delete outside of resource management functions
This article introduces the knowledge of "Why C++ avoids using new and delete outside of resource management functions". Many people will encounter this dilemma in the operation of practical cases, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
ES.60: avoid using new and delete outside of resource management functions
Reason (reason)
Direct resource management in application code is error-prone and tedious.
Resource management directly in the application code is troublesome and error-prone.
Note (Note)
This is also known as the rule of "No naked new!"
These guidelines are also known as "new operations that prohibit exposure".
Example, bad (negative example)
Void f (int n)
{
Auto p = new X [n]; / / n default constructed Xs
/ /...
Delete [] p
}
There can be code in the... Part that causes the delete never to happen.
In.。 The omitted location of the code allows the delete operation to never occur.
Enforcement (implementation recommendations)
Flag naked news and naked deletes.
Mark exposed new and delete operations.
That's all for "Why C++ avoids using new and delete outside of resource management functions". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!