最近の疑問
①std::setはポインタを格納するとき中身を見てソートできないのか?
②関数オブジェクトってなんだ?
③テンプレートクラスの内部クラスを戻り値として受け取るメンバ関数をクラスの外部実装するとtypenameが必要になるのはなぜ?
④std::listはnewをしなくていいように内部で初めから領域を確保できないのか?
⑤アロケータってなんだ?そしてどう使うんだ?
などなどです。
STLはなんとなくで使う分には非常に便利なんですが、ちょっと凝ったことを考えると予備知識が大量にいるようになりますね…。
時間があるときはそれでもやる気が出ますが、本題にさっさと取り組みたいときには適当に効率の悪い解決策に甘んじてしまいます。
結局①は格納したいポインタのみをメンバ変数に持つクラスを作成してそいつにoperator<とoperator==を設定することでうまいこといきました。
また④は自分でそんな感じのlistを自作してしまいました。(push_backとeraseとiteratorだけあればよかったので)実行速度はどの動作もstd::listの15倍以上速度が出ており当面問題なさそうです。
…しかし根本的には何の解決にもなっていない^^;
STLについて細かいことまで書かれてる何かいい本やホームページはないでしょうか?(英語でもよいので…)
まあ③はあまりSTLとは関係ない気もしますが…
わからないことは数珠式に…
わからないことは数珠式に…
最後に編集したユーザー GRAM on 2010年11月16日(火) 00:15 [ 編集 1 回目 ]
コメントはまだありません。