Tho*_*ini 19
type例如,替换为int..并var使用集合的名称
for (set<type>::iterator i = var.begin(); i != var.end(); i++) {
type element = *i;
}
Run Code Online (Sandbox Code Playgroud)
最好的方法是使用boost :: foreach.上面的代码将简单地变为:
BOOST_FOREACH(type element, var) {
/* Here you can use var */
}
Run Code Online (Sandbox Code Playgroud)
你也可以这样#define foreach BOOST_FOREACH做,你可以这样做:
foreach(type element, var) {
/* Here you can use var */
}
Run Code Online (Sandbox Code Playgroud)
例如:
foreach(int i, name_of_set) {
cout << i;
}
Run Code Online (Sandbox Code Playgroud)
使用迭代器:
std::set<int> si;
/* ... */
for(std::set<int>::iterator it=si.begin(); it!=si.end(); ++it)
std::cout << *it << std::endl;
Run Code Online (Sandbox Code Playgroud)
请注意,MSDN和cplusplus.com等许多参考文献都提供了示例 - 一个示例.;)
对于 C++11 及更高版本:
std::set<int> my_set;
for (auto item : my_set)
std::cout << item << endl;
Run Code Online (Sandbox Code Playgroud)