listクラスの主要な関数
関数名 |
書 式 |
説 明 |
begin |
iterator begin() |
先頭を表わすイタレーターを返します |
end |
iterator end() |
末尾を表わすイタレーターを返します 末尾とは最後の要素の次を表わします |
rbegin |
reverse_iterator rbegin() |
末尾を表わす逆方向イタレーターを返します 末尾とは最後の要素の次を表わします |
rend |
reverse_iterator rend() |
先頭を表わす逆方向イタレーターを返します |
empty |
bool empty() |
listの要素が0なら「true」を、カラでなければ「false」を返します |
size |
int size() |
要素数を返します |
push_back |
void push_back( const T &value ) |
listの末尾にデータを追加します |
push_front |
void push_front( const T &value ) |
listの先頭にデータを追加します |
pop_back |
void pop_back() |
listの末尾の要素を削除します |
pop_front |
void pop_front() |
listの先頭の要素を削除します |
insert |
iterator insert( iterator itr, const T &value ) |
itrの直前にvalueを挿入します |
insert |
iterator insert( iterator itr, size_t num, const T &value ) |
itrの直前にvalueをnum個挿入します |
insert |
iterator insert( iterator itr, const_iterator first, const_iterator last ) |
itrの直前にfirstからlastの間のデータをコピーして挿入します |
erase |
iterator erase( iterator itr ) |
itrの示す要素を削除します |
erase |
iterator erase( iterator start, iterator end ) |
startからendまでの要素を削除します |
clear |
void clear() |
すべての要素を削除します |
front |
reference front() |
listの先端の要素を返します |
back |
reference back() |
listの末尾の要素を返します |
remove |
void remove(const T& value) |
valueと同じ要素を削除します |
reverse |
void reverse( ) |
リストの順番を逆順にします |
sort |
void sort( ) |
リストを昇順にソートします |
merge |
void merge( list& lst ) |
引数lstの要素を現在のリストに追加し、lstの要素をすべて削除します 2つのリストが昇順にソートされていれば、できたリストも昇順にソートされている |
unique |
void unique( ) |
リスト中に同じ要素が連続していた場合、1つを残して削除します |
assign |
void assign( const iterator first, const iterator last ) |
list(自分自身)の内容をfirstからlastに置き換えます |
assign |
void assign( size_type n, const T& x = T() ) |
list(自分自身)の内容をn個のxに置き換えます |
swap |
void swap( list x ) |
list(自分自身)の内容をxと交換します |
vectorでは、要素の追加や削除が行われた場合、すべての領域が新しく確保されていたため、それまで
使用していたイタレーターや参照は使用できなくなりました。これに対してlistでは、リストの再割り当てが
行われるのはごく一部だけなので、削除された部分を示すイタレーターや参照のみが使用できなくなり、
それ以外のイタレーターや参照はそのまま使用できます。