12

[thread.mutex.class]/3

[...] 它是一个标准布局类([class.prop])。

这个要求的原因是什么?

4

1 回答 1

10

与相关 C 接口的互操作性。来自N2320标准 C++ 的多线程库):

C 级接口已从该提案中删除,原因如下:

  • 只要我们指定此提案中的关键类型是标准布局类型(我们已经这样做了),WG14 仍然可以自由地标准化与此 C++ 接口互操作的 C 接口。
  • WG14 比 WG21 更能解决取消互操作性问题。[...]
  • WG14 要求 WG21 牵头处理这个问题。我们认为我们可以通过仅指定一个 C++ 接口来最好地发挥领导作用,该接口具有最少的钩子以支持未来的 C 互操作接口(即类型是标准布局类型)。我们觉得我们应该停止在 C++ 标准中实际指定 C 接口。WG14 可以更好地使用 C 接口,未来的 C++ 标准可以通过引用将其导入。
于 2021-11-03T15:11:09.857 回答