2010/02/02

ついで

ついでだからはてぶの相手もしよう。ああもう、コメント欄に書いてくださいよ皆さん…お返事がしづらいじゃあありませんか。
coppieee : Imuutableオブジェクト使えばいいんじゃない?その場合は速度が問題になるのかな。
ええと、悲しいかな C++ には Immutable なオブジェクトをあらわす型なんてないです…ユーザー定義型の const の「意味」はそれ定義した子が決めちゃえるし、const な組み込み型はまあそう読んで差支えがないかもしれないけれど、結局 & を適用した結果得られる「const ポインタ」は「Immutable な値への参照」ではなく「参照先を書き換えることができない参照」でしかない。つまり、他の誰かが書き換えても文句はいえない。その値が const として宣言されているか分からない以上は、Immutable かどうかはいえない。まあつまり欲しいのは Immutable な値を表す型と、 Immutable な値への参照を表す型ですね。これは D にはあります。
lizy : むしろデフォルトconstで、書き換えが必要なヤツだけ外すぐらいの勢いで
paella : C++は現実的だから、それぞれの現実が違うのが辛いところ。たとえばconstじゃない変数/関数に何か宣言を付けないといけないルールにしたら、世の中平和になるのでは?
皆これやっぱり考えるんだなあ。Immutable な参照がないという問題は解決しないけれど「const ?なにそれ」はこれで回避できる。とはいえ C++ は C を引き摺っているので、残念でしたねということで。
faith_and_brave : const大事!constすごく大事!
そう、ぶっちゃけ変数名ちゃんとしましょうと同程度もしくはそれ以上に大事なことだとボクも思っているのだけれど、強く主張すればするほど伝わりづらくなる物事もあって、どうやって伝えればいいのかなあ…ボクはもう「const を利用することでこんな利点があります!」とかの主張は鬱陶しがられるだけなので無駄だと思っていて、「const を使うのはこの界隈では常識です」という認識を広めるしかないと思っているのだけれども、それでも
bull2 : 昔H先生が言っていたconst病。
なんて言われちゃうんだから悲しい。まあ const の話とかもう二度と書かないと思います。常識を書いても皆にあほらしいと思われるだけだし、それは悲しい…

物を伝えるのは難しい。強く主張しようとすれば鬱陶しがられるし、かといって主張しなければ届かない。kinaba さんのような詐欺師になれば救われるんだろうか。

profile


niha

http://niha28.sakura.ne.jp/