アカウント名:
パスワード:
いきなりわけわからん Tweet [twitter.com]が飛び出してきてびびった。だったらどうしてC++のキャストは、static_cast、dynamic_cast、reinterpret_castそしてconstを外すだけのconst_castに分けられたんだ?C形式のキャストだと何の為のキャストなのか見分けがつかないからだろ?
そしてconstをconst &にするconst_castなんて、かのBoostですら当たり前のように使われてる。違法でも何でもない。テメーの中のマイルールを勝手に世間一般の常識にみたいに語るなよ。
$ grep '#define BOOST_VERSION '
const 修飾は即値 immediate に翻訳するのが本来妥当だけど、オブジェクトに翻訳される。つまり、現状では const はオブジェクトへの書込み保護として使用されているという暗黙の了解(規格外規格)がある。
>テメーの中のマイルールを勝手に世間一般の常識にみたいに語るなよ。
それを言うなら、世間一般の常識(規格外規格)から外れた、規格書のすき間を見つけて、マイルールのコンパイラを開発した連中はどうなのよ?
C言語の規格というのは腐っているが、腐っても規格と言うことで崇める人もいるけど、コンパイラ開発者は距離を取って実用上まずいところは
追記const 修飾はポインタに対してだったら、書込み保護としてお役立ちなので、そういう理由で導入されたと思うんだ。だけど、オブジェクトに対しても const 修飾する・しない話になってややこしいことになった。オブジェクトに対する const 修飾を無しという仕様にするのもおかしいわけで、規格書の通りに決着したという経緯があったのだろうと思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
(Cの)const外しキャストは従来から違法だった? (スコア:0)
いきなりわけわからん Tweet [twitter.com]が飛び出してきてびびった。
だったらどうしてC++のキャストは、static_cast、dynamic_cast、reinterpret_cast
そしてconstを外すだけのconst_castに分けられたんだ?
C形式のキャストだと何の為のキャストなのか見分けがつかないからだろ?
そしてconstをconst &にするconst_castなんて、かのBoostですら当たり前のように使われてる。違法でも何でもない。
テメーの中のマイルールを勝手に世間一般の常識にみたいに語るなよ。
Re: (スコア:0)
const 修飾は即値 immediate に翻訳するのが本来妥当だけど、オブジェクトに翻訳される。つまり、現状では const はオブジェクトへの書込み保護として使用されているという暗黙の了解(規格外規格)がある。
>テメーの中のマイルールを勝手に世間一般の常識にみたいに語るなよ。
それを言うなら、世間一般の常識(規格外規格)から外れた、規格書のすき間を見つけて、マイルールのコンパイラを開発した連中はどうなのよ?
C言語の規格というのは腐っているが、腐っても規格と言うことで崇める人もいるけど、コンパイラ開発者は距離を取って実用上まずいところは
Re:(Cの)const外しキャストは従来から違法だった? (スコア:0)
追記
const 修飾はポインタに対してだったら、書込み保護としてお役立ちなので、そういう理由で導入されたと思うんだ。
だけど、オブジェクトに対しても const 修飾する・しない話になってややこしいことになった。オブジェクトに対する const 修飾を無しという仕様にするのもおかしいわけで、規格書の通りに決着したという経緯があったのだろうと思う。