配列は、宣言する際にサイズをあらかじめ決めておく必要があり、使い勝手が悪い。配列の概念を拡張したクラスとして、ベクターやリストクラスなどがある。ベクターは、配列を拡張したクラスで、あらかじめサイズを指定しなくても利用できるようにしたクラスである。そのため、添字を使って要素にアクセスしたり、最後の要素に新しい要素を追加したりすることができる。リストも、配列を拡張したクラスで、任意の位置に要素を挿入したり、任意の位置の要素を削除したりすることを想定して作られている。要素の追加と削除で、要素の順番が変化するため、リストは添字で管理することはできない。動的配列とも呼ばれている。配列を、サイズを意識せずに利用できるように拡張したクラスである。オブジェクトが空かどうかを調べる関数である。異なり、リストの後ろのみならず、リストの先頭あるいは任意の位置で要素の挿入と削除が可能。関数を利用することで、要素をその位置に挿入することができる。番目の後ろに新しい要素を挿入する例。