我是数据类型的新手,我想存储一个消息列表。消息可以是正面的也可以是负面的。我希望GUI能够显示从旧到新的消息。我需要能够区分显示完整的消息集合和仅显示正面或负面的消息。
集合的大小将在10&000;并且会有重复的消息/密钥。
我应该使用哪个容器来实现这一目标,如何继续显示正面消息/所有消息?
答案 0 :(得分:2)
当您存储一些信息和单个"标记" (例如,std::string
和bool
)方法是将std::pair<bool,string>
存储在具有固定迭代顺序的集合中,例如std::vector<T>
或std::list<T>
:< / p>
std::vector<std::pair<bool,std::string> > messages;
要打印所有正面消息,您可以迭代这些消息,并选择正/负标志设置为特定值的消息:
for (std::pair<bool,std::string> & p : messages ) {
if (p.first) { // Print only positive messages
cout << p.second << endl;
}
}