前端之家收集整理的这篇文章主要介绍了
c放置新的与重载新的,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于SO的许多问题询问有关C(
example 1,
example 2)的新
功能的用途.许多答案都说 –
自定义分配对象,如预先分配的空间.
但问题是 – 为什么需要为此安排新的?不仅仅是操作符的新超载足够吗?通过重载运算符new for class I可以精确控制从哪里获取内存 – 比如调用自定义分配器.那么为什么我需要为此目的安置新的?
你认为两者都可以用于
解决同一类问题是正确的,但你缺少的是运算符新的重载是侵入性的(分配策略在对象中),而新的放置不是(分配策略是完全的)独立).
Martin York的答案在这方面提供了一个很好的例子:std :: vector<>拥有自己的分配策略,而不对类型T添加任何要求.
原文链接:https://www.f2er.com/c/115013.html