Boost 1.5.1 ソースの下にsmart_ptr\detail\atomic_count_win32.hpp
は、きちんとした小さなアトミック参照カウンターがありboost::detail::atomic_count
ます。
48行目で、彼らは私が興味を持っているキャストを行います:
class atomic_count
{
public:
// ...
operator long() const
{
return static_cast<long const volatile &>( value_ );
}
private:
long value_;
カウンタ値が a-reference-to-a-volatile-constant-long ( long const volatile&
) にキャストされるのはなぜですか?