std::atomic_fetch_xxx
(or, and, add, sub, xor)の自由関数のセットは、std::atomic<T>*
名前付きの objを入力として受け取ります。
template< class T >
T atomic_fetch_sub(std::atomic<T>* obj,
typename std::atomic<T>::difference_type arg ) noexcept;
質問: std::atomic 型がポインターとして解釈され、代わりに参照として渡されないのはなぜですか。
T atomic_fetch_sub(std::atomic<T>& obj,
typename std::atomic<T>::difference_type arg ) noexcept;
実用的な合理性/理由はありますか、それとも単に文体的なものですか?