c放置新的与重载新的

c放置新的与重载新的,第1张

概述关于SO的许多问题询问有关C( example 1, example 2)的新功能的用途.许多答案都说 – 自定义分配对象,如预先分配的空间. 但问题是 – 为什么需要为此安排新的?不仅仅是 *** 作符的新超载足够吗?通过重载运算符new for class I可以精确控制从哪里获取内存 – 比如调用自定义分配器.那么为什么我需要为此目的安置新的? 你认为两者都可以用于解决同一类问题是正确的,但你缺少的 关于SO的许多问题询问有关C( example 1,example 2)的新功能的用途.许多答案都说 – 自定义分配对象,如预先分配的空间.

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

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

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

总结

以上是内存溢出为你收集整理的c放置新的与重载新的全部内容,希望文章能够帮你解决c放置新的与重载新的所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存