STL学习笔记----2.容器の共通操作
各コンテナには多くの操作があり、以下の操作はすべてのコンテナに共通しています.
一.構造、コピーと分析
ContType c
空のコンテナを作成します.要素はありません.
ContType c1(c2)
同じ種類の形容器を作成するcopy
ContType c(beg,end)
区間[beg,end)を要素の初期値とするコンテナを作成する
c.~ContType()
すべての要素を破棄し、メモリを解放
二.大きさに関する操作
c.size()
現在の要素の数を返します
c.empty()
bool型を返し、容量が0かどうかを判断します.size()=0と同等ですが、より速いかもしれません.
c.max_size()
収容可能な要素の最大数を返します.大きな数です.
例:
三.比較操作
c1 == c2
c 1がc 2に等しいか否かを判断する
c1 != c2
c 1がc 2に等しくないか否かを判断する
c1 < c2
c 1がc 2より小さいか否かを判断する
c1 > c2
c 1がc 2より大きいか否かを判断する
c1 <= c2
c 1がc 2以下であるか否かを判断する
c1 >= c2
c 1がc 2以上であるか否かを判断する
四.賦課操作
c1 = c2
c 2のすべての要素をc 1に割り当てます.c 1とc 2は同じタイプでなければなりません.
五.交換操作
c1.swap(c2)
c 1とc 2要素を交換する
swap(c1,c2)
同じように、グローバル関数です.
六.反復器関連
c.begin()
ランダムアクセス反復器を返し、最初の要素を指します.
c.end()
ランダムアクセス反復器を返し、最後の要素の次の位置を指します.
c.rbegin()
逆反復の最初の要素、すなわち最後の要素を指す逆反復器を返します.
c.rend()
逆反復の最後の要素の次の位置、すなわち最初の要素の前の位置を指す逆反復器を返します.
注意:*c.endも*c.rendも定義されていません.
七.挿入と削除
c.insert(pos,elem)
pos位置の前にelemコピーを挿入し、新しい要素の位置を返します.
c.erase(beg,end)
[beg,end)区間内のすべての要素を除去し、次の要素の位置を返します.
c.clear()
すべての要素を除去し、コンテナを空にします.
一.構造、コピーと分析
ContType
空のコンテナを作成します.要素はありません.
ContType
同じ種類の形容器を作成するcopy
ContType
区間[beg,end)を要素の初期値とするコンテナを作成する
c.~ContType
すべての要素を破棄し、メモリを解放
二.大きさに関する操作
c.size()
現在の要素の数を返します
c.empty()
bool型を返し、容量が0かどうかを判断します.size()=0と同等ですが、より速いかもしれません.
c.max_size()
収容可能な要素の最大数を返します.大きな数です.
例:
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
vector<int> col(10);
cout << col.size() << endl; //10
if (col.empty()) //bool
{
cout << "empty"<<endl;
}
cout<<col.max_size()<<endl; //
return 0;
}
三.比較操作
c1 == c2
c 1がc 2に等しいか否かを判断する
c1 != c2
c 1がc 2に等しくないか否かを判断する
c1 < c2
c 1がc 2より小さいか否かを判断する
c1 > c2
c 1がc 2より大きいか否かを判断する
c1 <= c2
c 1がc 2以下であるか否かを判断する
c1 >= c2
c 1がc 2以上であるか否かを判断する
四.賦課操作
c1 = c2
c 2のすべての要素をc 1に割り当てます.c 1とc 2は同じタイプでなければなりません.
五.交換操作
c1.swap(c2)
c 1とc 2要素を交換する
swap(c1,c2)
同じように、グローバル関数です.
六.反復器関連
c.begin()
ランダムアクセス反復器を返し、最初の要素を指します.
c.end()
ランダムアクセス反復器を返し、最後の要素の次の位置を指します.
c.rbegin()
逆反復の最初の要素、すなわち最後の要素を指す逆反復器を返します.
c.rend()
逆反復の最後の要素の次の位置、すなわち最初の要素の前の位置を指す逆反復器を返します.
注意:*c.endも*c.rendも定義されていません.
七.挿入と削除
c.insert(pos,elem)
pos位置の前にelemコピーを挿入し、新しい要素の位置を返します.
c.erase(beg,end)
[beg,end)区間内のすべての要素を除去し、次の要素の位置を返します.
c.clear()
すべての要素を除去し、コンテナを空にします.