【发布时间】:2019-10-09 14:43:22
【问题描述】:
我正在做一个项目,其中几个类重载运算符 new 和 delete 以利用空闲列表,当我意识到 make_shared 时,我尝试使用 make_shared 让我的分配由智能指针管理不使用重载版本,而是显式调用全局::new。但是根据this make_unique 确实使用了重载版本。这对我来说很莫名其妙。为什么make_shared 选择忽略运算符重载而make_unique 没有?
【问题讨论】:
-
大概是因为make_shared需要额外分配控制块; make_unique 只分配
T。 make_shared 之后不会做一个新的展示位置吗?
标签: c++ operator-overloading new-operator smart-pointers