c – 你为什么要让操作符`new`私有?

前端之家收集整理的这篇文章主要介绍了c – 你为什么要让操作符`new`私有?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 OpenSplice DDS,在那里,几乎所有的C类(我使用的基本类,如果重要的话我可以提及它们)将新运算符重载为私有(以防止用户使用它们).我不明白,为什么有人这样做?有人可以提供一些显示这种必要性的例子吗?

为什么我需要new:因为这些类中的大多数都没有默认的构造函数,我需要稍后在我的实现中通过unique_ptr初始化它们.

简单的伎俩:另一方面……我很容易欺骗这个!我可以用另一个类包装这个类,并使用我想要的全新,对吧?因此,我不明白动机,感觉就像糟糕的风格.有人能解释一下吗

编辑:

只是为了澄清:提供一个无法逃脱的好例子是一个很好的答案.对于所有看到新操作符私有的人都会有所帮助.

解决方法

许多嵌入式C需要保证在系统启动后才进行NO动态分配.航空,汽车和医疗设备行业通常都有此要求.有关此类编码标准及其背后的理性,请参阅以下链接

> http://www.stroustrup.com/JSF-AV-rules.pdf
> http://www.qa-systems.com/tools/qa-misra/

猜你在找的C&C++相关文章