gpt4 book ai didi

c++ - unique_ptr::deleter_type::pointer 有什么用?

转载 作者:可可西里 更新时间:2023-11-01 18:25:32 27 4
gpt4 key购买 nike

std::unique_ptr<T,D>指定存储不是 T*如您所料,但是类型为 std::unique_ptr<T,D>::pointer 的对象.这基本上定义为 D::pointer如果存在这样的类型,并且 T*否则。因此,您可以通过适本地自定义删除器来自定义底层原始指针类型。

什么时候这样做是个好主意?它是干什么用的?我能找到的唯一讨论是 this note ,这暗示“更好地支持 [ing] 共享内存上下文中的容器和智能指针”,但这并没有完全说明很多问题。

最佳答案

最初的动机是启用 boost::offset_ptr 的使用作为 unique_ptr 下的表示,这将允许在进程共享内存中使用 unique_ptr。进程共享内存中的结构不应包含指针或引用,而应仅包含偏移量。

我很高兴得知相同的功能在 Windows API 中很有用。

关于c++ - unique_ptr::deleter_type::pointer 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com