私が書いている単純なプログラムのリストの内容を印刷したかったのです。組み込みのリスト ライブラリを使用しています
#include <list>
ただし、データをテスト/チェックするために、このリストの内容を印刷する方法がわかりません。どうすればいいですか?
最近のコンパイラ (少なくともいくつかの C++11 機能を含むもの) を使用している場合は、必要に応じてイテレータを (直接) 処理することを避けることができます。s のような「小さな」もののリストについては、次のようint
にすることができます。
#include <list>
#include <iostream>
int main() {
list<int> mylist = {0, 1, 2, 3, 4};
for (auto v : mylist)
std::cout << v << "\n";
}
リスト内の項目が大きい場合 (具体的には、それらをコピーしたくないほど大きい場合)、ループ内で値の代わりに参照を使用する必要があります。
for (auto const &v : mylist)
std::cout << v << "\n";
たとえば、intのリストの場合
list<int> lst = ...;
for (list<int>::iterator i = lst.begin(); i != lst.end(); ++i)
cout << *i << endl;
リストを使用している場合は、イテレータにすぐに慣れる必要があります。
イテレータを使用します。
for(list<type>::iterator iter = list.begin(); iter != list.end(); iter++){
cout<<*iter<<endl;
}
これには、反復子と小さなfor
ループを使用できます。リスト内の値を出力しているだけなので、反復子によって参照されるオブジェクトを誤って変更するのを防ぐのconst_iterator
ではなく、使用する必要があります。iterator
のvar
リストである変数を反復処理する方法の例を次に示しますint
for (list<int>::const_iterator it = var.begin(); it != var.end(); ++it)
cout << *it << endl;