在C++中遍历std::set
最佳实践是使用迭代器来访问其中的元素。下面是一个示例代码:
#include#include int main() { std::set 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#include int main() { std::set 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
是一个更好的实践。