volatileって関数の返却値に使っても有効なの?
規格ではどうなってるんだろ