std::unordered_map clear() 方法
- 自 C++11 起
// Non const version only
void clear() noexcept;
从容器中移除所有元素。调用此方法后,size()
返回零。
失效
使任何**引用、指针或迭代器(指向所包含的元素)**失效。
也可能使**末尾迭代器**失效。
参数
(无)
返回值
(无)
复杂度
与容器大小呈线性关系 - O(size())。
异常
(无)
示例
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';
}
可能输出
Before clear: 1(x) 2(y) 3(z)
Size=3
Clear
After clear:
Size=0