年末のヒマつぶしに C++ 界の過激派である Alexandrescu のページを見ていたら, "volatile - Multithreaded Programmer's Best Friend" という記事があった. 2003 年に書かれ, "もっと volatile を使おうぜ" と主張するこの記事は, おおざっぱにいうと Java の "synchronized" と似たかんじで volatile を使う方法を提案している. 以下受け売り. const はメモリへの書込みを制限し, volatile はメモリアクセスの最適化を制限する. このように役割は違う const と volatile だが, 似たところがある. 実際 C++ の仕様でも "cv-qualifier" と一括りで扱い, 文法上は同じように振る舞う. たとえばこんなコードを考える. struct object_