Я использовал список, чтобы поместить города в путешествие. Затем я перебираю
список для отображения маршрута поездки. Я хотел бы получить доступ
города по названию, а не по порядку поездки. Так что я
думал, что я мог бы использовать карту, а не список, но ключ определяет
приказ. Я все еще хотел бы контролировать порядок последовательности
но иметь возможность доступа к записям по ключу.
Можно ли объединить эти функции? Есть ли какой-то стандартный способ решения проблемы?
это?
#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;
}