C++,如何获得多于1个元素的列表

问题描述:

我想要一个列表,它包含一个整数字符串在一起。我知道我需要在某处使用“Pair”,但我不知道如何?C++,如何获得多于1个元素的列表

我该如何“插入”到包含对的列表中? (我不需要使用地图,我不想被组织名单的内容按字母顺序排列)。

std::pair<int, std::string> p1(1, "abc"); 
std::pair<int, std::string> p2(2, "cba"); 

std::list<std::pair<int, std::string> > myList; 
myList.push_back(p1); // Insert first pair 
myList.push_back(p2); // Insert second pair (at the end of the list) 

使用push_backpush_front将元素添加到后,该列表的前面。

+0

@DarkoAtanackovic考虑接受一个答案,如果它解决了你的问题。 – HyperZ

您还可以使用C++ 11功能在“就地”创建新对。

std::list<std::pair<int, std::string>> myList; 
myList.push_back(std::make_pair(1, "abc")); 
myList.push_back(std::make_pair(2, "def")); 

// or 
std::list<std::pair<int, std::string>> myList{{1, "abc"}, {2, "cde"}}; 
+0

或'emplace_back',myList.emplace_back(3,“ghi”) – erlc

+0

它将与C++ 11一起工作。 – dptd