El std::map::key_comp() es una función incorporada en C++ STL que devuelve una copia del objeto de comparación utilizado por el contenedor. De forma predeterminada, este es un objeto menos, que devuelve lo mismo que el operador ‘<‘. es un puntero de función o un objeto de función que toma dos argumentos del mismo tipo que los elementos del contenedor y devuelve verdadero si se considera que el primer argumento va antes que el segundo en el estricto orden débil que define o falso de lo contrario. Dos claves se consideran equivalentes si key_comp devuelve falso por reflejo (es decir, sin importar el orden en que se pasan las claves como argumentos).
Sintaxis:
key_compare map_name.key_comp();
Parámetros: Esta función no acepta ningún parámetro.
Valor devuelto: la función devuelve una copia del objeto de comparación utilizado por el contenedor.
Los siguientes ejemplos ilustran el método map::key_comp():
Programa 1:
// C++ program to illustrate the // map::key_comp() function #include <bits/stdc++.h> using namespace std; int main() { // Creating a map named m; map<char, int> m; map<char, int>::key_compare comp = m.key_comp(); // Inserting elements into map m['a'] = 10; m['b'] = 20; m['c'] = 30; m['d'] = 40; cout << "Map has the elements\n"; // Store key value of last element char l = m.rbegin()->first; // initializing the iterator map<char, int>::iterator it = m.begin(); // printing elements of all map do { cout << it->first << " => " << it->second << '\n'; } while (comp((*it++).first, l)); return 0; }
Map has the elements a => 10 b => 20 c => 30 d => 40
Programa 2:
// C++ program to illustrate the // map::key_comp() function #include <bits/stdc++.h> using namespace std; int main() { // Creating a map named m; map<char, int> m; map<char, int>::key_compare comp = m.key_comp(); // Inserting elements into map m['a'] = 1; m['b'] = 2; m['c'] = 3; m['d'] = 4; cout << "Map has the elements\n"; // Store key value of last element char l = m.rbegin()->first; // initializing the iterator map<char, int>::iterator it = m.begin(); // printing elements of all map do { cout << it->first << " => " << it->second << '\n'; } while (comp((*it++).first, l)); return 0; }
Map has the elements a => 1 b => 2 c => 3 d => 4
Publicación traducida automáticamente
Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA