template (1) | template <class T>bool atomic_compare_exchange_strong (volatile atomic<T>* obj, T* expected, T val) noexcept;template <class T>bool atomic_compare_exchange_strong (atomic<T>* obj, T* expected, T val) noexcept; |
---|---|
重载 (2) | bool atomic_compare_exchange_strong (volatile A* obj, T* expected, T val) noexcept;bool atomic_compare_exchange_strong (A* obj, T* expected, T val) noexcept; |
operator==
比较相等的值,这可能会导致比较失败(如果底层类型有填充位、陷阱值或同一值的替代表示),尽管这种比较在保留 expected 的循环中会迅速收敛,就像通常与 atomic_compare_exchange_weak 一起使用的那样。true
,不允许*虚假故障*。但是,在某些机器上,对于在循环中检查此项的某些算法,compare_exchange_weak 可能会带来显著的性能提升。*expected
与*包含的值*比较相等,则为 true
。false
。