我们使用的互斥锁具有一个奇怪的接口(例如,奇怪的大小写)。为std::unique_lock
专门化将有助于减少使用此互斥锁的认知开销。
我在标准中找不到专门允许专门std::unique_lock
使用的任何内容。考虑到这一点,我认为允许std::unique_lock
的专业化没有什么不利的方面。有人可以确认它确实不是该标准所指定的(并因此引起Demo后面的未定义行为)吗?
如果允许的话,有人可以指出标准中的那部分吗?
答案 0 :(得分:2)
您可以为自己的互斥锁类型专门设置std::unique_lock
:
程序可以为任何标准库添加模板专业化 仅当声明依赖于 用户定义的类型和专业化符合标准库 原始模板的要求,但未明确 禁止。
本节中没有std::unique_lock
明确禁止专门化的内容。因此,一般规则适用。