2

How to Use Range Based For Loops with Set in C++11 and later?

 8 months ago
source link: https://thispointer.com/use-range-based-for-loops-with-set-in-c11-and-later/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

How to Use Range Based For Loops with Set in C++11 and later?

August 25, 2023 / C++, std::set / By Ritika

This tutorial will discuss how to use range based for loops with set in C++11 and later.

In C++11, the range-based for loop was introduced. It allows us to iterate over a sequence of elements without explicitly using an iterator or random-access operators.

Advertisements

vid5e62792b95ec8618094391.jpg?cbuster=1600267117
use-range-based-for-loops-with-set-in-c11-and-later
liveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTUjJaNypaZypyRcoWU9MTY5MmMmNwI4OSZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZlnT02QmY5NmY2NTUmNmQ2MTp0NmM3QmpmNxImMTqCNTQmMDqEN0I2NDMlMmAmMwMmMxQmMDM4MxQmMwM5NUYmMwMlN0Q3QwpmMmEmMwMmMmQmOTM2MmQmOTqEN0I0MmMkMmYmNwqEN0I1MmY0NDp2ODpjNwMmMmQlNmY2MTU3MmUmMDVBNTt0OTp1NTxmMwM5NmQ3RDqCNwI2MmY4NmI2RwZENwU3RDqCNmE2NDY1NmM2Qwp0NxY3MDqEN0I2RwZDNwx2RTp1Nmt3RDqCNTtmNDM1MmM3RDqCNTxmMmMlMmU3RDqCNwYmMTqEN0I0QmMkMmImNTMlMmE3REZFRxUzZGyunWQ9JaVmZXJJpEFxZHI9NDUhNmphMTp4LwImNSZ1p2VlVUE9TW96nWkfYSUlRwUhMCUlMCUlOFtkMSUmQvUlMEkcoaV4JTIjrDt2XmY0JTI5JTIjQXBjoGVXZWJLnXQyMxY1MmphMmYyMwAyMwuLSFRNTCUlQlUlMGkcn2UyMwBHZWNeolUlOSUlMEuyYWRfZXNmQ2ulo21yJTJGMTAkLwAhNDx1MS42NCUlMFNuZzFlnSUlRwUmNl4mNvZwp3V1nWQ9NwRyZTQlZGRyODM4NvZwo250ZW50RzyfZUyxPTAzoWVxnWFQoGF5TGymqEyxPTAzoWVxnWFMnXN0SWQ9MCZaZHBlPTAzZ2RjpxNioaNyoaQ9JzymV2VQYXNmR2Rjpw0kJzNwpGE9MCZwY3BuQ29hp2VhqD0zY2J1p3Rypw0kNwxmMmM2MwxlNTYlJaVcZD1TZWgcozRiU1BfYXyypwY0ZWU0MzUkMzNwYTMzpHVvVXJfPWu0qHBmJTNBJTJGJTJGqGucp3BinW50ZXIhY29gJTJGqXNyLXJuozqyLWJup2VxLWZipv1fo29jpl13nXRbLXNyqC1cov1wMTEgYW5xLWkuqGVlJTJGJzZfo2F0U3RuqHVmPWZuoHNyJzVcZHNjPWycpSZjrGyxPTElMmI1MDIjNwx=liveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTI1JaNypaZypyRcoWU9MTY5MmMmNwI4OSZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZ1p2VlSXBBZGRlPTQ1Lwp3LwE3OC4lMmUzqXNypyVBPU1irzyfoGEyMxY1LwAyMwAyMwuYMTEyM0IyMwBMnW51rCUlMHt4Ny82NCUlOSUlMEFjpGkyV2VvS2y0JTJGNTM3LwM2JTIjJTI4S0uUTUjyMxMyMwBfnWgyJTIjR2Vwn28yMwxyMwBIZWFxoGVmp0Nbpz9gZSUlRwEjMS4jLwQ5NTEhNwQyMwBTYWZupzxyMxY1MmphMmYzY3N1qWyxPTY0ZWU0MzRxZTtmODYzY29hqGVhqEZcoGVJZD0jJz1yZGyuUGkurUkcp3RJZD0jJz1yZGyuTGymqEyxPTAzZHVlPTplJzqxpHI9MCZaZHBlQ29hp2VhqD0znXNXZVBup3NHZHBlPTEzY2NjYT0jJzNwpGFDo25mZW50PSZwYaVmqGVlPTE2OTMmMmYlOTM2MDpzqWyxPVNyn2yhZG9TUGkurWVlNwRyZTQlZTElY2NuMlZjqWJVpzj9nHR0pHMyM0EyMxYyMxZ0nGympG9coaRypv5wo20yMxZ1p2UgpzFhZ2UgYzFmZWQgZz9lLWkio3BmLXqcqGtgp2V0LWyhLWMkMS1uozQgoGF0ZXIyMxYzZzkiYXRTqGF0qXM9ZzFfp2UzZWyxp3A9nWykJaB4nWQ9NwtmMwM0NwY2

In the range-based for loop, we only need to specify a variable that will temporarily hold the value from the sequence and the container, separated by a colon. For instance, in the following pseudo-code:

Copy to clipboard
for (auto value : container)
// use value inside the loop
for (auto value : container)
{
    // use value inside the loop
}

We can iterate over all the elements of the set. During each iteration, the current element will be assigned to the value variable, and within the loop block, we can directly access that value.

Copy to clipboard
std::set<int> numbers = {23, 45, 44, 21, 22, 60};
// Range-based for loop to iterate over a set
for (const auto& value : numbers)
std::cout << value << " ";
std::set<int> numbers = {23, 45, 44, 21, 22, 60};

// Range-based for loop to iterate over a set
for (const auto& value : numbers)
{
    std::cout << value << " ";
}

Output:

Copy to clipboard
21 22 23 44 45 60
21 22 23 44 45 60

No iterators are required with the range-based for loop.

Let’s see the complete example,

Copy to clipboard
#include <iostream>
#include <set>
int main()
std::set<int> numbers = {23, 45, 44, 21, 22, 60};
// Range-based for loop to iterate over a set
for (const auto& value : numbers)
std::cout << value << " ";
std::cout<< std::endl;
return 0;
#include <iostream>
#include <set>

int main()
{
    std::set<int> numbers = {23, 45, 44, 21, 22, 60};

    // Range-based for loop to iterate over a set
    for (const auto& value : numbers)
    {
        std::cout << value << " ";
    }
    std::cout<< std::endl;

    return 0;
}

Output

Copy to clipboard
21 22 23 44 45 60
21 22 23 44 45 60

Summary

Today, we learned how to use range based for loops with set in C++11 and later.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK