为什么在 C++0x 中没有为 std::weak_ptr 定义 std::hash ?

2023-11-27

在阅读了关于 std::weak_ptr 的 operator

编辑:关于 std::weak_ptr 的运算符http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1590.html


我对这段历史有些了解。您还应该阅读另一篇后来的论文:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2637.pdf

我相信后来的论文正是当前草案中的内容。综上所述,shared_ptr有基于值的operatorand基于所有权的成员函数owner_before。 weak_ptr 只有后者。

我最好的猜测是对weak_ptr 的哈希支持只是被删除了。据我所知,没有人提出对weak_ptr 进行哈希支持。在将 C++0x 标准化的过程中存在很多很多问题,解决这些问题的时间和资源有限,毫无疑问会出现错误和遗漏。

我还认为要添加对weak_ptr的哈希支持,必须与owner_before类似地完成:将成员函数owner_hash添加到shared_ptr和weak_ptr。我怀疑对 C++0x 来说这样做已经太晚了,但这似乎是一个合理的 TR2 提案。

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

为什么在 C++0x 中没有为 std::weak_ptr 定义 std::hash ? 的相关文章

随机推荐

  • 在 Java 中使用 BouncyCastle 通过 ECIES 进行加密

    我正在尝试使用 Java 中的 BouncyCastle 使用 ECC 算法加密一些内容 但我收到 BouncyCastle 库的异常 说无法投射JCEECPublicKey to IESKey 据我了解 生成的公钥KeyPairGener
  • mvc4 项目中的 Intellisense 无法在 vs 2012 professional 中工作?

    在我的剃刀视图中 智能感知不起作用 有解决这个问题的方法吗 我正在使用新发布的 VS 2012 Professional 并构建一个 ASP NET MVC 4 项目 我的剃刀视图中的智能感知不起作用 有什么解决办法吗 对我有帮助的是删除
  • Android - 如何动态更改片段布局

    我有一个平板电脑应用程序 其中包含一个显示我公司数据的 about 片段 我想在页面上时根据屏幕方向动态更改布局 但我还没有找到方法 如果有人找到解决方案 请提前致谢 Yume177 我找到了怎么做 Override public void
  • Git 子模块在 TFS Build 上失败

    当我尝试使用 TFS 和 Git 进行构建时 存在一个限制 即 TFS 的 git 提供程序尚不支持子模块 有点痛苦 但到底是什么 我可以告诉 TFS 在编译之前运行批处理文件 我用它来调用手动 git 脚本来更新我的 超级 项目中的所有子
  • 从 GitHub 操作推送到源

    我正在努力推动origin远程 GitHub 操作 我的行动逻辑是 handle pull request review事件并按评论消息过滤 签出到 master 合并 PR 分支 运行一些检查并将其推送到origin 脚本是 if GIT
  • Phoenix 框架中的动态模型

    有没有办法在Phoenix中动态创建和使用模型 我有一个存储有关客户表的元数据的应用程序 它们设置了一些字段 列名称和类型 然后向我发送 CSV 文件以进行解析和存储 我想根据存储的元数据生成一个模型 以便我可以使用 Ecto 来管理客户端
  • PyUSB 后端无法访问

    嘿 我正在尝试运行教程中提供的简单脚本 USB 正在导入 但是当我尝试搜索设备时出现以下错误 请帮助 gt gt gt dev usb core find Traceback most recent call last File
  • Java套接字的PrintWriter线程安全吗?

    所以 我有两个线程 线程一管理客户端连接 只有一台客户端和一台服务器 我将其称为我的服务器线程 线程二管理向客户端发送消息 我将其称为我的消息处理器线程 线程一负责定期向客户端发送心跳 在编程时 我假设套接字不是线程安全的 但缓冲区是 只要
  • 梯度方向计算

    我正在计算机视觉课程中完成我的任务 子任务之一是基于图像亮度的梯度方向计算 我制作了一个明亮 宽度 高度 矩阵 其中包含图像每个像素的亮度值 我有两个这样的功能 double Image grad x int x int y if x wi
  • 在 C# 中使用动态创建的控件

    我正在创建一个应用程序 用户将在其中输入成绩 程序将输出加权平均值 加载时 它将询问作业的类别数量 然后程序将动态创建文本框供用户输入信息 问题是我无法弄清楚如何读取创建文本框后输入的文本 这是我的代码 TextBox txtbx new
  • 泛型类型推断失败?

    实施例A 研究以下片段 public class ExampleA static class Pair
  • android gridview中的分页[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 android gridview 可以分页吗 如果可用 您可以提供任何链接吗 对于水平分页 请在 ViewPager 中使用 GridView 这是一个教程
  • python Socket服务器与真实IP地址

    我正在使用我的 python 服务器 但我已经不再使用 localhost 我想通过互联网进行访问 到目前为止我的代码是 import socket import threading import socketserver class Th
  • Maven 可以生成 exe 文件和 mac os x 应用程序吗?

    假设您创建了一个小型 Java 桌面应用程序 其中包含一个 jar 和一些依赖项 可能还有一个许可证文本文件 我知道有很多 Ant 任务可以生成安装程序 可执行文件和正确的 Mac OS X 应用程序 包括将它们打包为 dmg 文件 例子是
  • 将静态 constexpr 类成员分配给运行时变量

    我知道有很多类似的问题 但又有些不同的问题 这是关于以下情况 include
  • 如何在 Linux 中轻松接收邮件并将其提供给 Rails?

    我整晚都在谷歌上搜索 postfix howto 但仍然不明白我如何在 linux 服务器上接收电子邮件 更具体地说 Ubuntu 我所需要的只是一个包罗万象的邮箱 它可以获取所有电子邮件并将它们提供给 ruby 脚本 当然 然后将其传递给
  • 在 Xamarin.Forms 中自定义进度栏外观

    I used Drawable自定义渲染ProgressBar in Android正如对这个问题但该解决方案不适用于 iOS Below is how it renders in Android Below is how it rende
  • WIX,Dot Net 管理的自定义操作,使用 SQL Server 实例动态填充组合框,MSI

    在 WIX 中 我需要一个点网管理的自定义代码来动态填充该网络中 sql server 实例的值的组合框 我尝试用谷歌搜索但没有任何效果 任何帮助是极大的赞赏 CustomAction public static ActionResult
  • 未找到 Gradle DSL 方法:“compile()”

    我有这个梯度错误 错误 9 0 未找到 Gradle DSL 方法 compile 我曾尝试参考类似的问题 但没有成功 Android gradle 构建错误 9 0 未找到 Gradle DSL 方法 compile 同步 Build G
  • 为什么在 C++0x 中没有为 std::weak_ptr 定义 std::hash ?

    在阅读了关于 std weak ptr 的 operator 编辑 关于 std weak ptr 的运算符http www open std org jtc1 sc22 wg21 docs papers 2004 n1590 html 我