当前位置:   article > 正文

关于C++遍历容器时遇到的错误_c++ set s.end()报错

c++ set s.end()报错

起因:我在遍历set容器时发生的错误

for (set<int>::iterator i = s.begin(); i < s.end(); ++i) {
		printf("%d ", *i);
	}
  • 1
  • 2
  • 3

注意到后面i < s.end(),我之前的容器中我并无发生错误,这是因为我之前使用的容器都支持 < 这个比较操作符,而set不支持。

Q:那为什么set不支持呢?
A:我猜是因为set存储的地址空间不是连续的

结论:下次遍历都用!=来进行比较。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/141706
推荐阅读
相关标签
  

闽ICP备14008679号