2009-08-12から1日間の記事一覧

listクラスでリストから要素の削除

C++

http://www.geocities.jp/ky_webid/cpp/library/003.htmllistクラスで確保したリストデータを削除するメンバ関数は結構あります。 pop_back()・・・末尾の要素を削除 pop_front()・・・先頭の要素を削除 erase()・・・イテレータによって指定された要素を削…

listクラスでリスト同士の連結

C++

http://www.geocities.jp/ky_webid/cpp/library/003.htmllistクラス同士を連結することができます。 #include <iostream> #include <list> using namespace std; int main () { list<int> data1; list<int> data2; data1.push_back( 30 ); data1.push_back( 60 ); data1.push_back( 20 </int></int></list></iostream>…

listクラス

C++

http://www.geocities.jp/ky_webid/cpp/library/003.htmlvectorクラスは配列のエミュレートでしたが、listクラスは双方向リストを便利に扱うためのクラスです。まずは値の追加の仕方からやってみます。 #include <iostream> #include <list> using namespace std; int main (</list></iostream>…

vector

C++

http://www.geocities.jp/ky_webid/cpp/library/002.htmlvectorでbool型はテンプレートの特殊化によって別の処理になっています。ビット単位で要素を確保しようとするため、アドレスが取得できなかったり、イテレータが利用できなかったりと、色々不便です。…

生の配列のと連携

C++

http://www.geocities.jp/ky_webid/cpp/library/002.html配列を要求している関数にvectorの配列を渡したい場合にどうすればよいのかというお話。vectorの[]演算子オーバーロードを利用した配列の一番目のアドレスを渡せばよいだけです。 #include <iostream> #include <vector></vector></iostream>…

vectorで確保した領域の切り詰め(swap技法)

C++

http://www.geocities.jp/ky_webid/cpp/library/002.html既に確保した領域を減らしたい場合どうすればよいのかというお話。reserve関数で領域の確保ができるので、これで減らすことができるか確認してみます。なお、 vector の容量については、「現在、実際…