在C++中遍历std::set
最佳实践是使用迭代器来访问其中的元素。下面是一个示例代码:
#include <iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
// 使用迭代器遍历set
for(auto it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
在上面的示例中,我们使用begin()
和end()
方法获取set的起始和结束迭代器,然后通过循环遍历set中的所有元素,并使用解引用操作符*
访问每个元素。
另外,C++11引入了range-based for loop
语法,可以更加简洁地遍历set:
#include <iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
// 使用range-based for loop遍历set
for(int elem : mySet) {
std::cout << elem << " ";
}
return 0;
}
这种方法更加简洁和直观,不需要显式地使用迭代器。因此,使用range-based for loop
遍历std::set
是一个更好的实践。