[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 08:49 / Filesize : 163 KB / Number-of Response : 776
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++ってなんであんなに肥大化しちゃったの?



1 名前:デフォルトの名無しさん [2008/08/28(木) 14:48:15 ]
仕様が大きすぎるくせに、
実用的なライブラリが未整備。

なんかいらいらしない?
こんなこともできないくせに、
なんでこんな仕様ばっかり作るんだよって。
C++ってなんであんなに肥大化しちゃったの?
名前: 仕様書無しさん
E-mail:
内容:
仕様が大きすぎるくせに、
実用的なライブラリが未整備。

なんかいらいらしない?
こんなこともできないくせに、
なんでこんな仕様ばっかり作るんだよって。

C++はなんでもできます。でもなんにもできてないので
つくってね。的な。

231 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:43:12 ]
>>227
いちいち説明を書かないと関連性が分からない
めんどくさいやつだな

232 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:18:26 ]
いや、関連性は無いぞ。
C++が優れていると主張したいならもっと客観的・論理的な視点を持ってくれ。
226の場合はまず、開発コストという、あいまい且つ広範囲な言葉を使うのをやめて、
もっと定量化可能な別のものさしを定義する必要がある。
次にそれを測定し比較、さらに開発コストとそれ以外のメリットデメリットを比較検討、
その結果C++が最適だと主張するなら構わない。
それを行わず「C++最適」の一点張りでは信者は盲目だと思われても仕方が無いな。

233 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:19:38 ]
長い。
3文字でまとめてくれ。

234 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:23:19 ]
無関連

235 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:23:22 ]




236 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:44:40 ]




…どうでもいいですが、C++ を More C として使う発想のない人がいますね。

237 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:52:53 ]
そんな使い方つまらないから

238 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:57:16 ]
BetterじゃなくてMoreなのかよwwww
さすがC++信者、その発想はなかったわwwww

239 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 20:18:14 ]
俺は自分でプログラム書くときは C++
しかし、外部の業者に仕様書出して作ってもらうときは原則C
C++でかかれたひどいプログラムは見るに耐えない



240 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 22:14:12 ]
型チェックに厳しいところだけでも C++ の方が良いと思うが、もしかして C99 で同レベルになってたりする?

241 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 22:47:28 ]
CINTで開発したら、コンパイル頻度へってええぞー。

242 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 00:51:49 ]
少なくともUNIX界では一部のtkが使ってる程度のニッチ言語

243 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 01:00:47 ]
UNIXだとやはりCなのかね

244 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 02:32:28 ]
GNUとかも大体Cだと思う。
プロジェクト管理ツールのsubversionはCでした。

FireFox3は大体C++でした。

245 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 07:57:31 ]
>>242 Be…

246 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 09:54:54 ]
>>240
C99はその辺の仕様は変わってない。
どっちかってーと、便利な方向に拡張されてる印象。
(複合リテラルとか可変引数マクロとか)

247 名前:デフォルトの名無しさん [2008/09/26(金) 10:34:37 ]
いま全部読みなおしたけど意外と良スレ
ただもうちょっとまともなC++擁護派の意見が欲しい

248 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 11:05:10 ]
Mozillaのドキュメント読むとアレはもはやC++とは呼びたくない代物だ
まあ確かにC++の可搬性は低いと認めざるを得ないな

C99は独自拡張の現状追認(inlineとか)と可搬性向上(int32_tとか)
それとブロック途中で変数宣言が出来るようになった(C++から逆輸入)
あとC99とC++とは互換性がない
(まあ常識的な範囲では大丈夫だし、すぐに仕様を取り込むだろうけど)

249 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 12:16:44 ]
結構Cも変化してきてたんだな。



250 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 13:05:10 ]
C でプログラム書いている人って忍耐強いね。
C++ を覚えてから C でプログラムを書くなんて考えられなくなった。
Ruby を覚えて凄く便利だと思ったけど C++ とは役割が違うので C++
は捨てられません。

251 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 13:23:03 ]
C++とBeOSといえばfragile base class problemだな
ttp://www.st.rim.or.jp/~osada/translation/developers/BNL_articles/Issue79-insights-j.html
など

252 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 15:19:17 ]
OS の API を COM 風のインタフェースにすればよかったのに。

253 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:39:54 ]
C++はほかのプロセスにクラスオブジェクトを送ろうとするだけで困難に直面するからなぁ。

254 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:52:27 ]
それはアラインメントの問題じゃなくて??
だとするとCで構造体送っても同じだと思うけど。

255 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 23:01:28 ]
vtable付き構造体を別プロセスに送るのは、そもそも無茶ではなかろうか

256 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 23:14:43 ]
一般的な OS だと vtable 付きに関わらず別プロセスに送れないんじゃない?

257 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 02:42:11 ]
>>253はマヌケな指摘!

もちろん、COMやマルチスレッドを使うときC++が多少不便なのは分かるけど
それは言語の文法的な問題というよりは、言語がサポートするレンジの問題

258 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 08:42:31 ]
ガキの時に遊び場だった小山がたくさんあるとこで
台風が過ぎた後、小山が崩れて穴が開いてたんだよ。
石が崩れててその中に懐中電灯もって仲間と入ってった。
そして通路みたいなとこ奥の方へいったら
人形みたいのが並べてあって今度は横のほうに部屋というか
空間があった。
壁に懐中電灯で照らすとなんか落書きというか
絵が描いてあったぜ。
北斗七星はガキの俺でもわかったが
あとは空を舞う女の絵
テーブルみたいなのがその部屋にあって
天井のほうにも絵があったから
その石テーブルに3人で乗っかったら
そのテーブルの台が割れちまった。
痛いと思ったらなんか石と鉄の棒みたいなので
足挟まってた。石をどけると
何か大きな箱の中に入ったみたいで中には
キラキラ光る数珠の玉みたいのとか、鉄の棒、汚れた布切れ
と小さい円盤みたいなものが何枚かあったよ。
俺は面白えと思ってみんなに内諸にしようと約束
して外にでることにした。
俺たちが外に出ようとして元の出口の方にいったら
ゴゴゴゴーとか地鳴りが聞こえて水が突然津波みたいに
俺たちを流した。
その後俺たちは田んぼまで流れてその場所が
どこかわからなくなっちまった。
後で大きくなった時にそこの場所が改めて確認した。
崩れたまま今は草ボーボーになって残ってる。


259 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 20:18:20 ]
MPI使った分散計算とかに使うととたんに困る。
ポリモフィックなことしてたりすると、型情報をつけておくって、
受けた方は型情報に従ってseitch caseなどで羅列した生成ルーチンを選択して・・・てなことになる。
新しい派生型を加える度にcaseを追加しないといけない。
自動的に派生クラスのコンストラクタを実行とかできないからね。

これはなにもプロセス間通信じゃなくても、クラスオブジェクトのデータをいったんファイルにセーブして再度読み込むとかでも同じ問題が起こる。




260 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:45:15 ]
だからCで同じことやろうとしても同じ問題が起こるっつーの。
オブジェクトをそのままファイルに保存とかアホかと。
あと型情報でswitchとかやるのは単なる設計ミスか、あるいはテンプレートで回避できる。
自分の不勉強を棚に上げて、口数少なく記述できないことを言語のせいにすんな。

261 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:17:27 ]
switch caseを無くせるのがC++の面白いところなんだけどね

262 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:32:19 ]
どんな言語でもそりゃswitchの羅列になる。
よその言語だとそうならないようにシリアライズって機構があるだろ。
C++だってBoostとかが作ってはいる。望みどおりのものかどうかは別として。

263 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 23:14:40 ]
仮想関数使ってできるだけswitchとかif elseをなくすのが
C++の方向じゃないのか
禿もそう言ってたろ

264 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 00:04:27 ]
でも最終的には、マシン語でifになるからEじゃんEじゃんEEjump

265 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 00:19:54 ]
x86で大抵のコンパイラは call [eax+table] みたいなコードになるぞ

266 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 13:01:01 ]
仮想関数によるswitch排除は美しいと思うけど
現実的には、あとからの機能追加とかで
ちょっとした分岐が入る場合にgdgdになりがち

267 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 20:23:11 ]
仮想関数をしっかり使うには、結構設計に悩むが、うまくはまるとかなりいいぞ

268 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 21:27:47 ]
オブジェクト指向やデザインパターンのおかげで変更に強く大きなアプリケーションも
作りやすくなったんだよ。GoF のデザインパターンはほとんど仮想関数使ってるよ。

269 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 21:34:01 ]
仮想関数である必要はないよ
テンプレートメソッドやステートやストラテジーパターンなんてジェネリックスでもできる
他は忘れちゃった



270 名前:デフォルトの名無しさん [2008/09/29(月) 21:39:05 ]
都銀レベルの本当に巨大なシステムは皆COBOLだけどな


271 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:12:43 ]
でも、COBOL開発には夢がない。楽しくもない。

272 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:13:51 ]
そう言えば禿はC++の設計時に「楽しくプログラミングできる事を目指す」
ような事を言っていたな

273 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:15:06 ]
その割りに出来上がったのがこれかよ

274 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:35:51 ]
プログラマーから拡張につぐ拡張の要求が押し寄せて
C++標準化委員会が断り続けたが押し切られたものもあって
カオスになっている

275 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:44:49 ]
それもまた一興

276 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:48:08 ]
一つの言語で何でもやろうとするからこうなる
MultixやPL/Iと同じだな

277 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 22:56:06 ]
まーMFCみたいに我が道路線で行けばそれなりに安定してる言語だけどね

278 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 23:02:55 ]
今日、インストーラのカスタム動作というのをC#で実装してて
初めてドットネットのライブラリを使った
何だあれは!
ほとんど同じ機能を持つ違う名前のクラスが山ほどあるじゃないか
InstallerCollection って何?ただの配列じゃない
InstallContext って何?辞書を一つ持ってるだけじゃない。つまりただの辞書じゃない

あんなのを使う機会が増えていくのは嫌だな
スレと関係なくなっちゃってスマンな

279 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 23:32:41 ]
>>274
それってどの機能のこと?



280 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 23:48:18 ]
演算子のオーバーロード

281 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 00:16:28 ]
>>277
STLより古いしね

282 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 01:31:13 ]
>>281
演算子のオーバーロードって本当は入れたくなかったんだ。
初めて知った。

283 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 03:41:08 ]
>>282
あんな糞気持ち悪いもんマトモな神経持ってたら拒否る

284 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 03:44:02 ]
タイプ量が劇的に減っていいじゃん

285 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 03:57:12 ]
お前のタイプ量が減った分周りの人間が苦労してるだけなんだけど
まぁ、お前はいいんだよね、お前はさ

286 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 03:59:16 ]
D&E読んでみたけど、演算子オーバーロードについては
Dr.Bjarne自身は入れたくなかったわけではないらしいよ。
実装の難しさ(勿論コンパイラの。)やユーザにとっての難解さがあるんじゃないかと
ためらってたが検証したらそうでもなかったので取り入れたと言ってる。
「どんな言語を使ってもわかりにくいコードを書く人はいる。
誤用を恐れるよりは、便利さに目を向けた方がいい」とのこと。

実際、行列とかのクラスで mat1.Multiply(mat2.Multiply(mat3))とかイヤすぎる・・・

287 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 04:00:48 ]
>>285
それはお前の職場環境が悪いだけ。
バカがバカなコード書くのを言語のせいにするなと。

288 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 05:13:46 ]
   _,,....,,_  _人人人人人人人人人人人人人人人人人_
-''":::::::::::::`''>便利さに目を向けた結果が今のC++だよ!! <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^^Y^YY^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´

289 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 05:20:30 ]
演算子オーバーロードってバカが俺ってSUGEEEEEEするための機能だろ



290 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 05:37:01 ]
なんでそんな入社一年目でも普通に使ってる初歩的機能に熱く議論してんだ?
新入社員がlambdaとmplでばかり書いてしまって困ってますとかなら議論できそうだが。

291 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 05:41:07 ]
なんでC++擁護派っぽいカキコってこんなヌケてるの?
アンチの工作なの?

292 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 09:22:59 ]
C++擁護派って新人もしくは学生でWindows好きそうなイメージがある

293 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 10:54:01 ]
>>289
×演算子オーバーロードってバカが俺ってSUGEEEEEEするための機能だろ
○C++ってバカが俺ってSUGEEEEEEするための言語だろ

294 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 11:00:24 ]
G++ごときで挫折したマヌケですね

295 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 12:25:54 ]
演算子オーバーロードは単なる表記の便利さの問題じゃなくて
ダックタイピングの言語では必然と言っていいと思うがな

ダックタイピングでは、アヒルのように鳴くものはアヒルである
だから、整数のように足せるものは+で足せなければならない

実際RubyやPythonでもそれは採用されているし
基本的な道具になっている

C++もテンプレートの世界は一種の静的ダックタイピングだから
演算子オーバーロードは本質的で、それなしでは
組み込み配列やポインタ、関数を
全く同じように扱えるSTLのようなライブラリは作れないし
生まれなかったよ

296 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 12:57:24 ]
文字列の連結が+なのはとても整数のようでは

297 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:16:32 ]
文字列の + による結合は自然じゃないか?
演算子オーバーロードのない Java ですら文字列は特別に + を使えるようにしている。

298 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:16:44 ]
operatorが難しいとか感じる奴は死んでいいでしょ

299 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:53:01 ]
>>298
>operatorが難しいとか感じる奴
誰もそんな話してないんだけど
唐突にどうした?



300 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:59:14 ]
>>289あたりのことを指してるんだろうが
演算子オーバーロード否定論者ってJava厨あたりじゃないの
今時C#やPythonやRubyにもあるような機能なんだけど
となりのブドウはすっぱいという奴だろう

301 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 14:33:03 ]
+は普通可換だけど、文字列の連結は可換じゃないよね。

302 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 14:43:12 ]
文字列に+はある意味趣味の問題だろうな

BigNumや複素数、クォータニオン、ベクトル、行列のようなものに
演算子オーバーロードが使えるかどうかはかなり大きな問題だが

303 名前:デフォルトの名無しさん [2008/09/30(火) 15:56:59 ]
演算子オーバーロードは複素数計算では必須。だから、C++とC#しかない。

304 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 17:11:28 ]
Fortranにもある

305 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 18:20:14 ]
DにもDelphiにもある。

306 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:29:08 ]
参照とポインタ、両方ともC++に実装せずに片方だけ実装すれば、よかったかも、

アクセス修飾子は削れない。

例外処理も削れない。

STLは微妙、自分で作った方が使いやすい(気分がする)

あんま削るとこ無いね。


307 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:48:07 ]
STLを自作してたら、他人のライブラリと組み合わせるとき悲惨だぜ
自分の作った車輪と他人が作った車輪が乱立しているなんて耐えられない

308 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:54:36 ]
>>306
参照とポインタはclassとstructぐらい違うぞ

309 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:54:47 ]
>>306
ターゲット環境が貧弱で、constやカスタムアロケータや配置newを使いまくる人?
そういう人は例外も使わなそうな印象があるが



310 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:55:26 ]
>>308
> classとstructぐらい
それって大した違いじゃないなw

311 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 21:59:00 ]
>>306
>STLは微妙、自分で作った方が使いやすい(気分がする)
これは狂気の沙汰と言わざるを得ない

312 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 22:00:21 ]
参照に関してはコンパイラ側で
ポインタを用いた内部実装しろと強制されているわけではないが
実質ほとんどのコンパイラは同じにしているだろう

せいぜい関数のインライン展開の場合に変わるぐらいか?

313 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 22:06:37 ]
>>306
アンチC++工作員乙w

314 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 22:17:04 ]
stlは結局必要なものがない
あと基本設計がクソ過ぎる

315 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 22:31:02 ]
とうぞ糞でないものを教えてください

316 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 22:32:42 ]
とうぞ糞?

317 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:30:27 ]
>>314 「ただ1つのベースクラスから継承して作っていないとか、どんだけクソ設計なんですか^^」
とかだったら笑う。

318 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:38:06 ]
>>317
そんな発想できるお前に笑った

319 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:45:42 ]
かゆいとこに手が届かない感じだよ。CStringからstringとかにわざわざダウングレード
するのもどうかと思う。



320 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:51:00 ]
CStringのどのあたりが優れてる?


321 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 03:55:39 ]
STLといえば、まずは vector, list, mapじゃないの?
string系はおまけ的なものだから論点が違うよ

322 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 04:03:48 ]
そもそも環境依存のアプリ屋は、C++を積極的に使う必要はないだろ
C#やobject Cと、最新ライブラリをを使う方が効率がいいじゃないか

それに対し、C/C++系は組み込みや科学計算も含む広いレンジを考えてるから
たとえば stringに文字コード変換など気軽に組み込むわけにはいかない

ここには、言語の乱立を嫌がる人もいるが違うと思うな モノには適材適所がある

323 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 05:25:46 ]
vectorはメモリの連続性が信用できないから素直に配列の方がいい
listもリンクリスト程度なら自分で作った方が安心できる
mapは便利だけどクソ遅い

STLは富豪プログラミングできるときにだけ使えて
mapとsetだけが多少とも役に立つ

324 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 05:41:09 ]
メモリが連続している必要があるの?
まあ、連続していないとアクセスは遅くなるけどさ。
気にするほどのものかな

325 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 06:03:04 ]
連続してないならないで別にいい(それがdequeだしな)
信用できないというのが大問題

326 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 07:57:47 ]
vectorで確保するメモリは連続だったでしょ
stringと勘違いしてない?


327 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 08:06:31 ]
www.cranehouse.jp/program/vector.html
こんなの発見。
昔のコンパイラだと連続していなくとも標準を名乗れたらしい。

328 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 09:24:58 ]
std::vector 連続 で検索すれば答えは出てくる
当初の規格書に明言されてなかったのは問題だったけど

329 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 10:05:05 ]
言語が効率第一なわりに何でもコピーベースだよな
CVOつっても限界あるし
参照ベース + GCな言語より非効率な面もかなり多いんじゃないか

std::stringは中途半端な存在だと思う
mutableで、しかしバッファの直書き換えはできなくて、
vector<char>に比べて文字列処理において著しく便利というほどでもなく
STL algorithmとの直交性にも欠ける

STLは、C++標準ライブラリの中では一番マシじゃないのか
iostreamだのlocaleだのはどうしようもない



330 名前:329 mailto:sage [2008/10/01(水) 10:31:04 ]
なんだCVOってw
RVOだ、すまん

331 名前:デフォルトの名無しさん [2008/10/01(水) 10:37:52 ]
カスタム・ヴィークル・オペレーション






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<163KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef