Skip to main content

std::unordered_map clear() method

// Non const version only
void clear() noexcept;

Erases all elements from the container. After this call, size() returns zero.

Invalidation

Invalidates any references, pointers, or iterators referring to contained elements.

May also invalidate past-the-end iterators.

Parameters

(none)

Return value

(none)

Complexity

Linear in the size of the container - O(size()).

Exceptions

(none)

Example

Main.cpp
#include <algorithm>
#include <iostream>
#include <unordered_map>

int main()
{
std::unordered_map<int, char> container{{1, 'x'}, {2, 'y'}, {3, 'z'}};

auto print = [](std::pair<const int, char>& n) {
std::cout << " " << n.first << '(' << n.second << ')';
};

std::cout << "Before clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << '\n';

std::cout << "Clear\n";
container.clear();

std::cout << "After clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << '\n';
}
Possible output
Before clear: 1(x) 2(y) 3(z)
Size=3
Clear
After clear:
Size=0

This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.

std::unordered_map clear() method

// Non const version only
void clear() noexcept;

Erases all elements from the container. After this call, size() returns zero.

Invalidation

Invalidates any references, pointers, or iterators referring to contained elements.

May also invalidate past-the-end iterators.

Parameters

(none)

Return value

(none)

Complexity

Linear in the size of the container - O(size()).

Exceptions

(none)

Example

Main.cpp
#include <algorithm>
#include <iostream>
#include <unordered_map>

int main()
{
std::unordered_map<int, char> container{{1, 'x'}, {2, 'y'}, {3, 'z'}};

auto print = [](std::pair<const int, char>& n) {
std::cout << " " << n.first << '(' << n.second << ')';
};

std::cout << "Before clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << '\n';

std::cout << "Clear\n";
container.clear();

std::cout << "After clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << '\n';
}
Possible output
Before clear: 1(x) 2(y) 3(z)
Size=3
Clear
After clear:
Size=0

This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.