volatileについて
Posted: 2011年7月12日(火) 15:13
株式会社きじねこ様のホームページ、
http://www.kijineko.co.jp/tech/cpptempl ... ndian.html
にて、エンディアンを変換するコードを見つけました。
以下の小さなテンプレート関数です。
しかしながら、この関数になぜvolatile修飾子が必要なのか理解できません。
どなたかご教示いただけましたら幸いです。
http://www.kijineko.co.jp/tech/cpptempl ... ndian.html
にて、エンディアンを変換するコードを見つけました。
以下の小さなテンプレート関数です。
template<class T>
T reverse_endian(T value)
{
char volatile* first = reinterpret_cast<char volatile*>(&value);
char volatile* last = first + sizeof(T);
std::reverse(first, last);
return value;
}
どなたかご教示いただけましたら幸いです。