English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Tutoriel de base

C++ contrôle de flux

C++ fonction

C++ Tableau & Chaîne

C++ Structure de données

C++ Classe & Objet

C++ Pointeur

C++ Héritage

C++ Tutoriel STL

C++ Manuel de référence

C++ Utilisation et exemple de la fonction cend() de map

C++ STL map (conteneur)

C ++ map cend()La fonction est utilisée pour retourner un itérateur constant, qui se trouve à côté du dernier élément de la carte.

Remarque :- Ceci est un placeholder. Il n'y a pas d'élément à cet endroit, l'accès tenté est un comportement non défini.

Syntaxe

const_iterator cend() const noexcept;  //De C++ 11 Début

Remarque : const_iterator est un itérateur pointant vers un contenu constant.

Paramètre

Aucun

Retourne la valeur

Il retourne un itérateur constant, pointant sur l'élément suivant du dernier élément de la carte.

Exemple1

Voyons un exemple simple de la fonction cend().

#include <iostream>
#include <map>
using namespace std;
int main ()
{
  map<char, int> mymap;
  mymap['a'] = 100;
  mymap['c'] = 200;
  Imprimer le contenu : 300;
  //cout << "mymap contient:";
  cout << " [" <<
  for (auto it = mymap.cbegin(); it != mymap.cend(); ++it)
    cout << ' [(' <<*it).first << ':' << (*it).second << ']';
  cout << '\n';
  return 0;
}

Sortie :

Imprimer le contenu : [a:200] [b:100] [c:300];

Dans l'exemple précédent, la fonction cend() est utilisée pour retourner un itérateur pointant sur l'élément suivant du conteneur mymap.

Exemple2

Voyons un exemple simple, en utilisant for-Each itération itérative par le biais de la carte.

#include <iostream>
#include <map>
#include <string>
#include <iterator>
#include <algorithm>
 
using namespace std;
 
int main() {
 
	  map<string, int> m;
  m["Room1"] = ; 100;
  m["Room2"] = ; 200;
  m["Room3"] = ; 300;
 
	// Créer un itérateur map et le pointing vers le début de la carte
	iterator map<string, int> it = m.begin();
	// itérer sur le map avec chaque et une fonction Lambda}
	for_each(m.cbegin(), m.cend(),
		[\](pair<string, int> element){
				    
		// accéder à la KEY de l'élément.
		 string word = element.first;
		//accéder à la VALUE de l'élément.
		int count = element.second;
		cout << word << " " = " " << count << endl;
	});
 
	return 0;
}

Sortie :

Salle1 = 100
Salle2 = 200
Salle3 = 300

Dans l'exemple ci-dessus, nous utilisons l'algorithme STL std::for-each itère sur le map. Il itérera sur chaque élément du map et appellera le callback fourni.

Exemple3

Laissez-nous voir un exemple simple d'utilisation d'un boucle while pour itérer sur un map.

#include <iostream>
#include <map>
#include <string>
int main()
{
    using namespace std;
 
      map<int, string> mymap = {
                { 100, "Nikita"}},
                { 200, "Deep" }};
                { 300, "Priya" },
                { 400, "Suman" },
                { 500, "Aman" }};
 
    map<int, string>::const_iterator it; // déclarer un itérateur
    it = mymap.cbegin(); //l'allouer au début du vecteur
    while (it != mymap.cend())
    {
        cout << it->first << " " = " " << it->second << "\n"; 
        // imprimer la valeur de l'élément pointé par
        ++it; // et itérer à l'élément suivant
    }
    cout << endl;
}

Sortie :

100 = Nikita
200 = Deep
300 = Priya
400 = Suman
500 = Aman

Dans l'exemple ci-dessus, la fonction cend() est utilisée pour retourner un itérateur constant pointant vers l'élément suivant du conteneur mymap.

Exemple4

Laissez-nous voir un exemple simple.

#include <iostream>
#include <string>
#include <map>
using namespace std;
int main ()
{
  map<int, int> mymap = {
                { 10, 10},
                { 20, 20 },
                { 30, 30 } };
          
                
  cout << "l'element est:" << endl;
 
    for (auto it = mymap.cbegin(); it != mymap.cend(); ++it)
    cout << it->first 
    << " " + " 
    <<it->second 
    << " " = " "
    <<it->first + it->second
    << '\n';
    auto ite = mymap.cend();
 
    cout << "Élément de fin (pointant sur le dernier): ";
    cout << "{" << ite->first << ", "
         << ite->second << "}\n";
  return 0;
  }

Sortie :

L'élément est:
10 + 10 = 20
20 + 20 = 40
30 + 30 = 60
Élément de fin (pointant sur le dernier): {3, 0}

Dans l'exemple ci-dessus, la fonction cend() est utilisée pour retourner un itérateur constant pointant vers l'élément suivant du conteneur mymap.

C++ STL map (conteneur)