2009-03-19から1日間の記事一覧

C++で配列を速くするたった一つの方法

配列を捨てboost::arrayにしてiteratorを使う。 それだけ。 配列よりarrayが速いだと? と思うかもしれないですが、 サイズのでかい配列を走査しているときなどに効くので是非使ってあげてください。 (最適化は必要です)

最近のコンパイラではvectorのiteratorはポインタで実装されていない?

追記: - どうも誤解(こちらの誤読)だった様子。 恐らく多くの実装のiteratorは型としてはiteratorだが、実装上はポインタで成されているため、 最適化の恩恵を受けるとそれはポインタ演算をしていることと等価になる。 要するに、 ++itは、アドレスをイン…

std::vectorはそんなにダメか?

いま、メインでstd::vectorを使っているんですけれども、 「vectorってclearでメモリが解放されないんですよ!!!!」 という話を聴いた。 「シーンを遷移したらメモリの使用量が増えていたのでメモリリークしていると思ったらvectorがpush_backでメモリを…