
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ multimap::size() Function
The C++ std::multimap::size() function is used to return the number of elements in the multimap. A multimap is an associative container that stores elements in key-value pairs, allowing multiple elements with the same key. This function provides a quick way to determine the total count of these elements. The time complexity of this function is constant i.e. O(1).
Syntax
Following is the syntax for std::multimap::size() function.
size_type size() const noexcept;
Parameters
It does not accept any parameter.
Return value
This function returns the number of elements in the container.
Example
Let's look at the following example, where we are going to demonstrate the usage of size() function.
#include <iostream> #include <map> int main() { std::multimap<int, std::string> a; a.insert({1, "apple"}); a.insert({2, "banana"}); std::cout << "Size of the multimap is: " << a.size() << std::endl; return 0; }
Output
Following is the output of the above code −
Size of the multimap is: 2
Example
Consider another scenario, where we are getting the initial size, then later we insert some elements and get the size of the multimap.
#include <iostream> #include <map> int main() { std::multimap<int, std::string> a; a.insert({1, "TP"}); std::cout << "Initial size: " << a.size() << std::endl; a.insert({2, "Tutorix"}); a.insert({3, "TutorialsPoint"}); std::cout << "Size after insertion: " << a.size() << std::endl; return 0; }
Output
Output of the above code is as follows −
Initial size: 1 Size after insertion: 3
Example
In the following, we are going to use the size() function to get the size of the multimap, then we apply the equal_range() function to find all the elements with the key, and the distance between the iterators gives the count of the elements with that key.
#include <iostream> #include <map> int main() { std::multimap<int, std::string> a; a.insert({1, "Hi"}); a.insert({2, "Hello"}); a.insert({2, "Vanakam"}); std::cout << "Size of the multimap: " << a.size() << std::endl; auto x = a.equal_range(2); int count = std::distance(x.first, x.second); std::cout << "Elements with given key : " << count << std::endl; return 0; }
Output
If we run the above code it will generate the following output −
Size of the multimap: 3 Elements with given key : 2
Example
Following is an example where we are going to initialize the multimap with 3 elements, with key 1 appearing twice, then erase the elements with key 1 and observe the output.
#include <iostream> #include <map> int main() { std::multimap<int, std::string> a; a.insert({1, "AB"}); a.insert({1, "BC"}); a.insert({2, "CD"}); std::cout << "Size before erasing: " << a.size() << std::endl; a.erase(1); std::cout << "Size after erasing given key: " << a.size() << std::endl; return 0; }
Output
Let us compile and run the above program, this will produce the following result −
Size before erasing: 3 Size after erasing given key: 1