unique_ptr自定义存储类型示例?

2024-04-08

霍华德·希南特 解释了 http://home.roadrunner.com/~hinnant/unique_ptr03.html that unique_ptr还可以使用自定义存储类型。他举了一个例子“共享内存".

他只给出了粗略的想法(这对于快速介绍来说很好)。但是任何人都可以完成他的例子吗“自定义存储类型”(是否共享内存)?

支持放置unique_ptr到共享内存中,自定义删除器可以包含自定义指针类型(通常不是共享内存应用程序中的真正指针)。只需放置一个嵌套类型 called pointer它模拟删除器中的指针行为,可公开访问:

template <class T>
class MyDeleter
{
public:
    class pointer
    {
     public:
        friend bool operator==(pointer x, pointer y);
        friend bool operator!=(pointer x, pointer y);
        // ...
    };

    void operator()(pointer p);
};

void test()
{
    unique_ptr<int, MyDeleter<int> > p;
    MyDeleter<int>::pointer p2 = p.get();  // A custom pointer type used for storage
}

我怀疑// ...必须延长,并且test()可能会在真正的“自定义存储类型”示例中执行一些其他操作。

有人可以告诉我他/她在哪里吗

  • 实际上已经使用了这个定制,
  • 并在那方面context,
  • 哪个什么定制代码, (at //...大概)
  • and how 客户代码使用它吗? (在test()大概)

您可能感兴趣升压::offset_ptr http://www.boost.org/doc/libs/release/doc/html/boost/interprocess/offset_ptr.html这是该定制点的激励用例unique_ptr. offset_ptr是一个完全开发的指针类型,可以使用简单的 typedef 安装到自定义删除器中。它的用例是unique_ptr进入共享内存。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unique_ptr自定义存储类型示例? 的相关文章

随机推荐

  • 在 .NET CORE MVC 6 应用程序中调试未命中断点

    我正在开发 NET CORE 1 0 MVC 6 应用程序 并且我坚持使用调试点 因为它昨天停止了 经过多次尝试 我删除了项目并重新开始 第一次加载符号时 即使我在工具 gt 调试 gt 符号中取消选中 但它遇到了断点 现在 如果我选择 仅
  • R 箭头:错误:未构建对编解码器“snappy”的支持

    我一直用的是最新的R arrow包裹 arrow 2 0 0 20201106 支持直接从 AWS S3 读取和写入 这很棒 当我编写和读取自己的文件时 我似乎没有问题 见下文 write parquet iris iris parquet
  • 如何在同一个 MVC3 页面上使用多个具有 AntiForgery 验证的 ajax 表单?

    当我们有不止一种可能的表单可以发布到同一 cshtml 页面上的控制器时 防伪验证不起作用 我们检查了MVC3代码 发现问题出在这部分代码中 if String Equals cookieToken Value formToken Valu
  • Cocoa - 添加视频水印一般信息

    只是寻找如何使用 cocoa 以编程方式向视频添加水印或某种叠加层 不是一步一步地寻找 虽然那会很棒 而是或多或少地寻找我应该从哪里开始学习如何 是否有为此开发的框架 想要一些 cocoa 或 Objective c 或 c 原生的东西 因
  • Bootstrap:如何启用滚动条?

    我在我的一个项目中使用 Twitter Bootstrap 但我遇到了我的内容超出浏览器视图的问题 通常您会在屏幕右侧看到滚动条 但在我的情况下却没有 我在 bootstrap css 文件中搜索后overflow hidden 或类似的东
  • sql 不在使用查询生成器 laravel 的 GROUP BY 中

    I want to take how much amount of data based on the product id taken from the table vote on laravel this query does not
  • 透明或半透明面板控制

    有什么方法可以使面板透明或半透明吗 我还没有找到任何合适的属性来设置面板的透明度 我还尝试制作一个带有网格的 WPF 控件 网格背景和控件背景设置为透明 并将其放置在普通 Windows 窗体上 但是当我将此控件放在普通 Windows 窗
  • 无效的 HTTP 响应代码“0”

    我正在尝试使用一个使用的脚本CPAINT http cpaint sourceforge net 当我单击收藏的项目 5 星级评级系统 时 我不断收到上述错误 看起来它正在发出 AJAX 请求 但我无法从我的 Firebug 中看到这一点来
  • 如何将超过 1000 个值放入 Oracle IN 子句中 [重复]

    这个问题在这里已经有答案了 有什么办法可以绕过 Oracle 10g 静态 IN 子句中 1000 个项目的限制吗 我有一个逗号分隔的许多 ID 列表 我想在 IN 子句中使用这些 ID 有时此列表可能超过 1000 个项目 此时 Orac
  • Kendo Angular 2 网格过滤器不可用

    我正在使用带有 Angular 2 的 Kendo Gridhttp www telerik com kendo angular ui components grid data binding http www telerik com ke
  • 将 AppMutex 与静默 Inno Setup 一起使用

    我在 Inno Setup 脚本中使用 AppMutex 来确保产品在安装更新时不再运行 这基本上工作得很好 但是 当使用 verysilent 命令参数运行此设置时 会显示一个对话框 尽管非常安静 表明程序仍在运行 应该关闭 由于程序本身
  • 如何设置EditText的边框颜色

    我用过这个
  • NodeJS https 服务器使用 Express 返回 ERR_SSL_PROTOCOL_ERROR

    我试图让 SSL https 在我的 Nodejs 服务器上工作 但浏览器返回 ERR SSL PROTOCOL ERROR code var express require express var https require https
  • JSON解析字符串文字中的双引号[重复]

    这个问题在这里已经有答案了 我在解析字符串文字中的引号时遇到问题 var lit foo test 1 bar test 2 在控制台中 这会给出错误 未捕获的异常 我期待 Object foo test 1 bar test 2 这是我的
  • 通过关联属于_to

    鉴于以下关联 我需要参考Question that a Choice是通过从Choice模型 我一直在尝试使用belongs to question through answer来执行此操作 class User has many ques
  • 在 Django 中出现无效图像错误,但 PIL 已安装并通过所有测试

    所以我终于在RHEL5上成功安装了PIL 经历了很多困难 Django 开发版本 和Python 2 6安装在 opt python2 6 运行 selftest py 显示一切似乎都已正确安装 python2 6 selftest py
  • 如何在 Nodejs 中实际运行 scalajs 代码?

    我正在开发一个后端聊天服务器 它目前是用混乱的回调 javascript 编写的 所以我正在考虑将其移植到 scalajs 我一直在浏览初学者指南 但我找不到如何将项目实际编译为可以使用节点运行的单个 JavaScript 文件 例如nod
  • pd.merge_asof() 基于时差不合并所有值 - Pandas

    我有两个数据框 一个包含新闻 另一个包含股票价格 两个数据框都有一个 日期 列 我想以 5 天的间隔合并它们 假设我的新闻数据帧是 df1 另一个价格数据帧是 df2 我的 df1 看起来像这样 News Dates News 2018 0
  • 将 tmux.conf 拆分为多个文件?

    我有一个在计算机之间共享的通用 tmux 设置文件 tmux conf common 我希望能够在我的 tmux conf 中获取此文件 在 bash 中实现此目的的一种方法是让每台计算机的 bashrc 获取公共文件 有没有办法在 tmu
  • unique_ptr自定义存储类型示例?

    霍华德 希南特 解释了 http home roadrunner com hinnant unique ptr03 html that unique ptr还可以使用自定义存储类型 他举了一个例子 共享内存 他只给出了粗略的想法 这对于快速