代码之家  ›  专栏  ›  技术社区  ›  Curious

你能专攻std::unique\u锁吗

  •  1
  • Curious  · 技术社区  · 7 年前

    我们使用的互斥有一个奇怪的接口(例如奇怪的外壳)。对…有专长的 std::unique_lock 将有助于减少使用此互斥的认知开销。

    我在标准中找不到任何特别允许专业化的东西 . 仔细想想,我不认为允许专业化 . 有人能确认它确实没有被标准所指定(因此在这里引用的是未定义的行为)吗 https://stackoverflow.com/a/8513497 )?

    1 回复  |  直到 7 年前
        1
  •  3
  •   jonspaceharper    7 年前

    你可以专攻 std::unique_lock 对于您自己的互斥类型:

    [namespace.std]/1

    程序可以为任何标准库添加模板专门化 仅当声明依赖于 自定义类型和专门化符合标准库 对原始模板的要求并没有明确规定 禁止。

    标准::唯一锁定 明确禁止专门化。因此,一般规则适用。