C++11 [atomics.types.generic]p7:
应有对应于
atomic
的整数特化的命名类型,如表145所指定,并且有一个名为atomic_bool
的命名类型,对应于指定的atomic<bool>
。每个命名类型都是相应专业化的typedef或相应专业化的基类。如果它是基类,则应支持与相应专业化相同的成员函数。
(已加重)
让std::atomic_char
等类型不与std::atomic<char>
完全相同的理由是什么?这能提供什么灵活性,为什么有用?乍一看,我不明白为什么这些不需要直接成为std::atomic<T>
专业化的typedef。
请注意,建议<atomic>
的N2427说,typedef必须完全专门化,而不能可能成为基类。
std::is_same
和有时在重载和模板参数推断上下文中观察到。所以这不是太大的问题。) - Jeff Walden