【发布时间】:2015-03-31 14:30:50
【问题描述】:
来自MSDN:
Ty atomic<Ty>::operator++(int) volatile _NOEXCEPT; Ty atomic<Ty>::operator++(int) _NOEXCEPT; Ty atomic<Ty>::operator++() volatile _NOEXCEPT; Ty atomic<Ty>::operator++() _NOEXCEPT;前两个运算符返回递增的值;最后两个运算符返回增量之前的值。
但是,C++11 文档定义了此运算符的返回值 as
原子变量修改后的值。形式上,以 *this 的修改顺序递增/递减此函数效果之前的值的结果。
为什么 MSVC++ 编译器使用非标准定义?
【问题讨论】: