在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
是一個更好的實踐。