std::shared_ptr
在 C 中,std::unique_ptr 有一个用于处理数组的模板特化,它在其析构函数中适当地调用delete[]。然而,std::shared_ptr 不存在这样的专门化。
为什么缺席?
最初,疏忽可能是由于时间限制,因为 LWG (C委员会)还有许多其他紧迫事务。然而,缺乏正式提案也起到了一定作用。
近期进展
非正式的讨论使这个问题重新回到了最前沿,并且原型已经实现。然而,正式提案仍在等待中。一些 LWG 成员认为对 std::shared_ptr 的数组支持将是一个有价值的补充。
当前状态
从 C 14 开始,没有内置的专门化对于 std::shared_ptr
更新
2014 年,提出了一份技术规范 (TS) 草案来添加数组支持 std::shared_ptr。该提案已在 C 17 中实现。
以上是为什么 `std::shared_ptr` 没有 C 中数组的专门化?的详细内容。更多信息请关注PHP中文网其他相关文章!