如何在C中获取集合中的元素?
我对如何获取集合中的元素感到困惑。我想我必须使用迭代器,但如何逐步执行它?
I am confused as to how to get the elements in the set. I think I have to use the iterator but how do I step through it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
将
type
替换为int
.. 将var
替换为集合的名称最好的方法是使用 boost::foreach。上面的代码将简单地变为:
您还可以执行
#define foreach BOOST_FOREACH
这样您就可以执行以下操作:例如:
Replace
type
with, for example,int
.. Andvar
with the name of the setThe best way though is to use boost::foreach. The code above would simply become:
You can also do
#define foreach BOOST_FOREACH
so that you can do this:For example:
使用迭代器:
请注意,MSDN 和 cplusplus.com 等许多参考资料都提供了示例 - 一个示例。 ;)
Use iterators:
Note that many references like MSDN and cplusplus.com provides examples - one example. ;)
对于 C++11 及更高版本:
For C++11 and newer:
要列出集合中的所有元素,您可以执行以下操作:
要检查集合中是否有特定元素,您可以使用 set STL 类中的 find() 方法
To list all the elements in the set you can do something like:
To check if a specific elements in the set or not you can use the find() method from the set STL class
我喜欢在 VS2010 Beta2 中使用 C++0x lambda 语法看到的内容:
I'm liking what I'm seeing in VS2010 Beta2 using C++0x lambda syntax: