- 1 名前:デフォルトの名無しさん [2009/01/11(日) 11:13:44 ]
- C++標準ライブラリの一つ、STLについて。
前スレ 【C++】STL(Standard Template Library)相談室 10 pc11.2ch.net/test/read.cgi/tech/1219719677/ 過去ログ・リンク・書籍紹介は >>2 以降
- 18 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 00:47:37 ]
- ・全てのコンテナにat()が実装されているとは限らない。
・全てのコンテナにoperator []()が実装されているとは限らない。 ・全てのコンテナにイテレータが実装されている。 ・全てのコンテナに対応したアルゴリズムを組む時に使える。 ・別に使いたくなければ使わなくても良いけど。
- 19 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 00:53:04 ]
- どっかのAPIからデータの集まりを「TheContainer」なるクラスで貰ってきたとしよう
君はそれを調べ上げて、めでたくその実体がvectorに過ぎないことを突き止め 中からatを引っ張り出してforループを書き各データに望みの処理を施した ここまでは万々歳だ ところがそのAPIのバージョンが上がって、TheContainerの実体はfantasticsetという ベンダがオリジナルで作り上げた超高性能で複雑怪奇なコンテナに変わった 君は互換性を保つために、fantasticsetの構造を調べ上げて、 各データに順次アクセスするためのカオスな繰り返し文を書いて、 それが正しく全データを重複なく渡っているかどうかのテストもしなければならなくなった 最初からTheContainer::iteratorを使ってループしてれば、こんな苦労をせずに済んだんだ どうだ素晴らしいだろう
- 20 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 01:22:20 ]
- >>17
listはどうするんだね?
- 21 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 03:34:54 ]
- >>17
>一個変数増える ここkwsk
- 22 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 03:40:44 ]
- >>21
俺も気になっている。 atや[]でもiが要るから互角だと思う。
|

|