2013-03-27から1日間の記事一覧

コンテナの要素を消去する際の選択

C++

これもまた良く忘れるのでメモ。 以下のようにチョイスするのが効率的。 連続メモリコンテナ系(vector, deque, string etc):erase + remove リスト(list):remove 連想コンテナ系(set, map etc):erase 以下例、「1,2,3,3,5」という要素を格納する各コン…

スワップ技法で確保した容量を削減

C++

STLのvectorにおいて一度reserveされてしまった容量(not サイズ)を削除するための技法。 単純にreserveを再度実行しても要領は削減されないので - std::vector(x).swap(x) と書く。 #include <iostream> #include <vector> int main() { std::vector<int> x; for(int i = 0; i < 1</int></vector></iostream>…