C++ multimap::clear() Function



The C++ std::multimap::clear() function is used to remove all the elements from the multimap, leaving it with a size of 0. This function ensures that the multimap size become zero, but does not dellocate the memory allocated by the multimap. It is efficient for resetting the container for reuse without destroying it. The time complexity of this function is linear i.e.O(n).

Syntax

Following is the syntax for std::multimap::clear() function.

void clear();

Parameters

This function does not accept any parameter.

Return value

This function does not return anything.

Example

Let's look at the following example, where we are going to demonstrate the usage of clear() function

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> x;
    x.insert({1, "Hi"});
    x.insert({2, "Hello"});
    std::cout << "Size before clear: " << x.size() << std::endl;
    x.clear();
    std::cout << "Size after clear: " << x.size() << std::endl;
    return 0;
}

Output

Output of the above code is as follows −

Size before clear: 2
Size after clear: 0

Example

Consider the following example, where we are going to reuse the multimap after calling clear() function.

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a;
    a.insert({1, "Audi"});
    a.clear();
    a.insert({2, "Cruze"});
    for (const auto& pair : a) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }
    return 0;
}

Output

Following is the output of the above code −

2: Cruze

Example

In the following example, we are going to check, whether the multimap is empty or not before and after the clear() function.

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a;
    a.insert({1, "TP"});
    a.insert({2, "TutorialsPoint"});
    std::cout << "Empty before clear : " << std::boolalpha << a.empty() << std::endl;
    a.clear();
    std::cout << "Empty after clear : " << std::boolalpha << a.empty() << std::endl;
    return 0;
}

Output

If we run the above code it will generate the following output −

Empty before clear : false
Empty after clear : true
multimap.htm
Advertisements