Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Why does C++ avoid using new and delete outside of resource management functions

Shulou Source: shulou.com Published: 2022-06-01 19:29:35 10月03日 Update

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!

Tags: Resources resource management management functions caching code content more knowledge practicality learning next location criteria reasons negative dilemma reality suggestions situation Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MySQL OPPO Reno Microsoft Shulou Tech Info Huawei