From cppreference.com
voidclear()noexcept;(since C++23)Erases all elements from the container adaptor. After this call, size() returns zero.
Invalidates any references, pointers, and iterators referring to contained elements.
Complexity
Linear in the size of the container adaptor, i.e., the number of elements.
Example
Run this code
#include<iostream>#include<string_view>#include<flat_map>voidprint_info(std::string_viewrem,conststd::flat_map<int,char>&v){std::cout<<rem<<"{ ";for(constauto&[key,value]:v)std::cout<<'['<<key<<"]:"<<value<<' ';std::cout<<"}\n";std::cout<<"Size="<<v.size()<<'\n';}intmain(){std::flat_map<int,char>container{{1,'x'},{2,'y'},{3,'z'}};print_info("Before clear: ",container);container.clear();print_info("After clear: ",container);}Output:
Before clear: { [1]:x [2]:y [3]:z } Size=3 After clear: { } Size=0 See also