c放置新的与重载新的

前端之家收集整理的这篇文章主要介绍了c放置新的与重载新的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于SO的许多问题询问有关C( example 1,example 2)的新功能的用途.许多答案都说 – 自定义分配对象,如预先分配的空间.

但问题是 – 为什么需要为此安排新的?不仅仅是操作符的新超载足够吗?通过重载运算符new for class I可以精确控制从哪里获取内存 – 比如调用自定义分配器.那么为什么我需要为此目的安置新的?

解决方法

你认为两者都可以用于解决同一类问题是正确的,但你缺少的是运算符新的重载是侵入性的(分配策略在对象中),而新的放置不是(分配策略是完全的)独立).

Martin York的答案在这方面提供了一个很好的例子:std :: vector<>拥有自己的分配策略,而不对类型T添加任何要求.

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