私はリストを使用して都市を旅行に配置しました。次に、リストを繰り返し処理して、旅行の旅程を表示します。旅行順ではなく、名前で都市にアクセスしたいのですが。そのため、リストではなくマップを使用できると思いましたが、キーによって順序が決まります。シーケンスの順序を制御したいのですが、キーでエントリにアクセスできます。
これらの機能を組み合わせることができますか?これに対処するための標準的な方法はありますか?
#include <list>
#include <iostream>
struct City{
City(std::string a_n, int a_d):name(a_n), duration(a_d){}
std::string name;
int duration;
};
int main(){
std::list<City*> trip;
trip.push_back(new City("NY", 5));
trip.push_back(new City("LA", 2));
for (std::list<City*>::iterator ii=trip.begin(); ii!=trip.end(); ++ii)
std::cout << (*ii)->name << " for " << (*ii)->duration << " days." <<std::endl;
}