- 1 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 09:13:53 ]
- C++の問題点について語るスレです
C++ってなんであんなに肥大化しちゃったの? pc11.2ch.net/test/read.cgi/tech/1219902495/
- 200 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 09:33:16 ]
- C++の++は良く分からん物でオーバーロードされてるだろ
- 201 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 18:03:54 ]
- もしかしたら実際の処理は--かもしれない
- 202 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 18:33:56 ]
- そしてC++の仕様上、それを知る事は不可能に近い
- 203 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 16:48:48 ]
- >194-196のやりとりがよくわかりません。
演算子定義をconst参照で受けて、さらに注意しなければいけないことって何?
- 204 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 18:08:29 ]
- 多分、>>196 にしか解らない深い理由があるんだろう。
- 205 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 19:33:21 ]
- const_cast
- 206 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 20:24:16 ]
- それくらいでびくついているようではC++なんて使えないけどな。
全くもってそこらじゅう罠だらけだもん。
- 207 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 21:22:36 ]
- ・constなんてconst_castや普通のキャストで誰でも簡単に外せる
・constを外さなくたってmutableメンバがあれば変更し放題 ・deleteに対してconstは全く無力 何かを安全にするつもりでconstを使ってるなら、それは時間の無駄です constは何も守ってくれません
- 208 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 21:45:34 ]
- const_cast は使うこと自体が有害だと思われ
- 209 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 21:46:39 ]
- 気休めにしかならないと分かっていても、すがりたくなる。
ほかに信じられるものなんて何もないから。
- 210 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 21:51:57 ]
- setの要素を変更する時にconst_castは不可欠です
- 211 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 21:58:17 ]
- あれってconst付いていたっけ?
- 212 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 22:04:48 ]
- setの要素を直接変更したらまともに動作しないぞ
removeしてからinsertしないと
- 213 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 02:46:00 ]
- EffectiveSTLの22番だな
- 214 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 03:43:36 ]
- 比較関数が見ないメンバであれば問題ない。
- 215 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 09:35:55 ]
- const_castなんてC++の問題ではなく、C++を利用するプログラマの問題だろ
- 216 名前:204 mailto:sage [2008/11/07(金) 12:14:46 ]
- >>207
やっぱりそういう話か。下らん。
- 217 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 16:23:46 ]
- で、外注先のプログラマに問題が無い事は誰が保障してくれるんだ?
言語側で保障してりゃ良いだけの事を、本当に非効率的な言語(笑)だわ。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:01:39 ]
- 問題のあるプログラマを雇っている外注なんぞ切ってしまえ
- 219 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:05:50 ]
- また始まった
ぼくはそんなつかいかたしないからC++はわるくないんだい!! なんか本気で言ってそうでかわいそうになる
- 220 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:29:08 ]
- 何のためにconst_castがあるのかも考えず、不用意に使うような奴を擁護する事の方が信じられん
きっと、大阪の轢き逃げみたいな事件を起こすような奴に違いない
- 221 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:53:25 ]
- はいはい、今度は論点のすり替えですね
フルコースですか 次のメニューをお願いします
- 222 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:54:41 ]
- レッテル張りも消化済みでしたね
引き続きどうぞ
- 223 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 18:12:17 ]
- そもそも、言語側で保障する方が非効率だから、保障しなかったのにね
- 224 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 20:36:53 ]
- const_castはどう考えても内容を変更しないのになぜか非定数を要求するAPIのためのもの。
Motifやってた頃はお世話になりました。
- 225 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 20:59:11 ]
- const版・非const版で多重定義するときにも使える。
const char* strchr(const char* s, int c); inline char* strchr(char* s, int c) { const char* t = s; return const_cast<char*>(strchr(t, c)); } Cのstrchrより型安全性が増しているという不思議。もっともCとの互換性は無くなったが。
- 226 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:36:09 ]
- アホな事する奴がconst_castなんて律儀に書くわけないという
- 227 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:42:36 ]
- そういうアホは自分に影響が無い程度に放っておけばいいんです。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:01:46 ]
- どうしてSTLってstd::の中に全部ぶち込んでるの?
整理とか出来ない人が作ったの?
- 229 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:40:10 ]
- とりあえず、グローバルに全部散らばっているよりは遥かにましです。
- 230 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 19:11:13 ]
- STLは十分整理されているからそれで困ったことはないよ。
名前空間はいろんな人たちが集まって何かを作るときの応急処置ぐらいに思っておいた方がいいよ。 boostは移行中or統合中とかがあって、一応名前空間で区別してるけど using使い出すともうカオスになるよね。
- 231 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 22:32:08 ]
- >>228
あなたならどう整理する?
- 232 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 23:17:56 ]
- .NETみたいに
- 233 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 02:10:38 ]
- 名前空間も罠の塊だからあんまり多いと困る
- 234 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 16:31:19 ]
- >>233
using namespaceとか使うから罠に嵌るんじゃないのか?
- 235 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 17:00:09 ]
- そんなもん使わなくったって落とし穴はいくらでもあるよ
C++にはKoenig Lookupという素敵な仕組みがあるから
- 236 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 08:50:37 ]
- signed と unsigned の比較くらいできるようにしてくれっつーの!
ヽ(`Д´)ノ
- 237 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 12:49:34 ]
- signed廃止しようぜ
負の数なんてなくても平気
- 238 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 14:23:58 ]
- >>226
そういう奴はふつー、Cスタイルのキャスト (万能) 使うよなあ。
- 239 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 23:39:57 ]
- >>237
そしてsigned_intクラスを作るんでしょ。
- 240 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 03:31:15 ]
- 暗黙の変換がなくなるだけでも上等。
- 241 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 10:36:41 ]
- 分の悪い取引だな
|

|