集合类型:如何存储bool,string的列表?

时间:2014-08-06 19:03:48

标签: c++

我是数据类型的新手,我想存储一个消息列表。消息可以是正面的也可以是负面的。我希望GUI能够显示从旧到新的消息。我需要能够区分显示完整的消息集合和仅显示正面或负面的消息。

集合的大小将在10&000;并且会有重复的消息/密钥。

我应该使用哪个容器来实现这一目标,如何继续显示正面消息/所有消息?

1 个答案:

答案 0 :(得分:2)

当您存储一些信息和单个&#34;标记&#34; (例如,std::stringbool)方法是将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;
    }
}