标签: c++ c++11 shared-ptr atomic type-erasure
为什么std::shared_ptr接受删除器作为构造函数参数而不是模板参数?存储类型擦除删除器似乎违背了C ++哲学,即不向标准库组件添加任何不必要的开销。
std::shared_ptr
我可以看到的唯一逻辑是,由于引用计数的原子增量成本太高,因此忽略了通过类型擦除的间接成本。但它似乎仍然是不必要的开销。