核心准则ES.60:避免在资源管理函数之外使用new和delete(核心准则ES.60:避免在资源管理函数之外使用new和delete)
ES.60: Avoid new and delete outside resource management functionsES.60:避免在资源管理函数之外使用new和delete
Reason(原因)
Direct resource management in application code is error-prone and tedious.
在应用代码中直接进行资源管理麻烦且易错。
Note(注意)
This is also known as the rule of "No naked new!"
本准则也被称为“禁止暴露的new操作”
Example, bad(反面示例)
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.
在...省略的位置的代码可以让delete操作永远不发生。
See also: R: Resource management
参见:R:资源管理规则群组
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#r-resource-management
Enforcement(实施建议)
Flag naked news and naked deletes.
标记暴露的new和delete操作。
原文链接
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es60-avoid-new-and-delete-outside-resource-management-functions
觉得本文有帮助?请分享给更多人。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发,面向对象思考!
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com