map upper_bound() function in C++ STL

C++Server Side ProgrammingProgramming

In this article we will be discussing the working, syntax and examples of map::upper_bound() function in C++ STL.

What is a Map in C++ STL?

Maps are the associative container, which facilitates to store the elements formed by a combination of key value and mapped value in a specific order. In a map container the data is internally always sorted with the help of its associated keys. The values in the map container are accessed by its unique keys.

What is a map::upper_bound()?

map::upper_bound() function is an inbuilt function in C++ STL, which is defined in  header file. upper_bound() returns an iterator to the upper bound of the map container. This function returns an iterator which points to the last element which is considered to go after the key k.


Map_name.upper_bound(key& k);


This function accepts only 1 parameter −

  • k − The key which we want to search.

Return value

This function returns the iterator which is pointing to the next element of the key ‘k’ which is to be considered to go after the key k.



map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;




 Live Demo

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({5, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"\nTP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.rbegin(); i!= TP_Map.rend(); i++) {
      cout << i->first << "\t" << i->second << endl;
   auto i = TP_Map.upper_bound(2);
   cout << "The upper bound of key 2 is ";
   cout << i->first << " " << i->second << endl;
   auto i_1 = TP_Map.upper_bound(3);
   cout << "The upper bound of key 3 is ";
   cout << i_1->first << " " << i_1->second << endl;
   return 0;


TP Map is:
5             50
4             70
2             30
1             10
The upper bound of key 2 is 4 :70
The upper bound of key 3 is 4 :70
Published on 15-Apr-2020 12:28:42