forward_listはシーケンスコンテナの一種で、一連の値を保存するリストのコンテナです。
listとは異なり、前向きにだけたどることができるリストのクラスです。
forward_listの書式は次のとおりです。
#include <forward_list>
forward_list<type>
次の例はstringのリスト(forward_list)であるnamelistにquitが入力されるまで名前を保存するプログラムの例です。
#include <iostream>
#include <string>
#include <forward_list>
int main()
{
std::string s = "";
std::forward_list <std::string> namelist;
for (int i = 0; ; i++)
{
std::cout << ">";
std::cin >> s;
if (s == "quit")
break;
namelist.push_front(s); // push_back()は使えない
}
std::forward_list<std::string>::iterator it = namelist.begin();
for (; it != namelist.end(); it++)
std::cout << *it << std::endl;
}
実行結果は次のようになります。
>tommy
>jun
>Kenta
>quit
Kenta
jun
tommy