How do I iterate safely and efficiently with std::multiset?

When working with std::multiset in C++, it's important to iterate safely and efficiently. A std::multiset allows multiple entries with the same key, and iteration can be done using various methods, such as range-based for loops or iterators. Below is an example that demonstrates safe and efficient iteration over a std::multiset.

#include <iostream> #include <set> int main() { std::multiset numbers = {5, 1, 1, 2, 3, 3, 4}; // Safe and efficient iteration using a range-based for loop for (const auto& number : numbers) { std::cout << number << " "; } std::cout << std::endl; // Alternatively, you can use iterators for (auto it = numbers.begin(); it != numbers.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; return 0; }

C++ std::multiset iteration efficient code safe iteration