我有以下矢量:
std::vector< std::pair<std::string,bool > > myvec;
如何使用迭代器浏览和打印矢量元素?
答案 0 :(得分:7)
你有什么问题?
typedef std::vector<std::pair<std::string, bool> > vector_type;
for (vector_type::const_iterator pos = myvec.begin();
pos != myvec.end(); ++pos)
{
std::cout << pos->first << " " << pos->second << std::endl;
}
或者您可以将std::for_each
与某个仿函数一起使用。
答案 1 :(得分:2)
Container::iterator iter = myContainer.begin()
)for
- 循环中,遍历所有元素(iterator
有operator++
;结束条件是 - 检查迭代器是否已到达容器的end
,如:iter != myContainer.end()
)operator->
。std::pair
就像一个包含两个字段的结构 - first
和second
,因此您可以打印一个矢量元素,如:iter->first
和iter->second
。< / LI>
醇>