アカウント名:
パスワード:
C++としてできるのはいいけど、オブジェクトに++/--を適用したくないor適用するなら(そこそこ)アトミックである特性を維持してほしかった...感が。
# +=1の処理になる、ではない、んだよね?
C++じゃ保証してないしC++で保証するのは現実的ではないから必要ならインラインアセンブラでアトミックナンバークラスでも書けばよろし。
http://www.cplusplus.com/reference/atomic/atomic/operatorplusplus/ [cplusplus.com]そんな車輪の再発明を推奨しなくとも。
えっ。元々Cの++/--でも,整変数の++/--でもアトミックであることは保証されていないんじゃないですか?CPUがRead-modify-writeをサポートしていて、かつコンパイラがたまたまその命令に展開したときだけだと思うんですが。オブジェクトの++/--をアトミックにしようとしたらその期間はロックするなり割込みを禁止するなりの高コストの処理が必要になるので、「必要が無いことが多いのに仕様に盛り込むんじゃない」と却下されるでしょうね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
オペレータオーバーライド (スコア:1)
C++としてできるのはいいけど、オブジェクトに++/--を適用したくないor適用するなら(そこそこ)アトミックである特性を維持してほしかった...感が。
# +=1の処理になる、ではない、んだよね?
M-FalconSky (暑いか寒い)
Re:オペレータオーバーライド (スコア:1)
C++じゃ保証してないしC++で保証するのは現実的ではないから必要ならインラインアセンブラでアトミックナンバークラスでも書けばよろし。
Re: (スコア:0)
http://www.cplusplus.com/reference/atomic/atomic/operatorplusplus/ [cplusplus.com]
そんな車輪の再発明を推奨しなくとも。
Re: (スコア:0)
えっ。元々Cの++/--でも,整変数の++/--でもアトミックであることは保証されていないんじゃないですか?
CPUがRead-modify-writeをサポートしていて、かつコンパイラがたまたまその命令に展開したときだけだと思うんですが。
オブジェクトの++/--をアトミックにしようとしたらその期間はロックするなり割込みを禁止するなりの高コストの処理が必要になるので、「必要が無いことが多いのに仕様に盛り込むんじゃない」と却下されるでしょうね。