C++ <array> fonction back
Dans diverses opérations sur un tableau,backest une fonction très pratique, utilisée pourobtenir le dernier élément。
backest une fonction membre des classes de conteneurs, utilisée pourrenvoyer le dernier élément du conteneur. Elle est équivalente àat(size()-1)ouoperator[](size()-1), mais avec une sémantique plus claire.
backfournit un moyen intuitif d'accéder au dernier élément d'un conteneur.
Définitions de mots: backsignifie "back", c'est-à-dire obtenir le dernier élément (le plus à l'arrière).
Syntaxe de base et paramètres
backest une fonction membre de la classe conteneur, et son appel est très simple, ne nécessitant aucun paramètre.
Format de syntaxe
reference back(); const_reference back() const;
Description des paramètres
- Paramètre: Aucun paramètre
backn'accepte aucun paramètre.
Description de la fonction
- Valeur de retour: renvoie le dernier élément du conteneur sous forme deRéférenceSi le conteneur est un conteneur constant, elle renvoie une référence constante.
- Effet: renvoie le dernier élément du conteneur (indice
size()-1élément à la position). - Remarque: le tableau ne peut pas être vide, donc appeler
backIl est sûr.
Exemple
Maîtrisons cela en profondeur à travers une série d'exemples.backUtilisation.
Exemple 1 : Utilisation de base - obtenir le dernier élément
Exemple
#include <array>
int main() {
// 1. Créer un tableau et l'initialiser
std::array<int, 5> numbers = {10, 20, 30, 40, 50};
std::cout << "La taille du tableau est : " << numbers.size() << std::endl;
// 2. Utilisez back() pour obtenir le dernier élément
std::cout << "Le dernier élément (back) : " << numbers.back() << std::endl;
std::cout << "En utilisant at(size()-1) : " << numbers.at(numbers.size() - 1) << std::endl;
std::cout << "En utilisant [size()-1] : " << numbers[numbers.size() - 1] << std::endl;
return 0;
}
Sortie attendue :
array的大小是: 5 最后一个元素 (back): 50 使用 at(size()-1): 50 使用 [size()-1]: 50
Analyse du code :
numbers.back()renvoie le dernier élément50。- Il et
numbers.at(numbers.size()-1)etnumbers[numbers.size()-1]retourne la même valeur, mais avec une sémantique plus explicite.
Exemple 2 : Modification de la valeur du dernier élément
backElle retourne une référence, elle peut donc être utilisée pour modifier la valeur de l'élément.
Exemple
#include <array>
#include <string>
int main() {
std::array<std::string, 3> tasks = {"Apprendre le C++", "Faire les devoirs", "Lire la documentation"};
std::cout << "Avant modification, la dernière tâche : " << tasks.back() << std::endl;
// Utiliser back() pour obtenir une référence et modifier l'élément
tasks.back() = "Terminer";
std::cout << "Après modification, la dernière tâche : " << tasks.back() << std::endl;
return 0;
}
Sortie attendue :
Before modification, the last task: Read the documentation After modification, the last task: Complete the project
Analyse du code :
tasks.back() = "完成项目";La valeur du dernier élément est modifiée via la référence.back()renvoie une référence lvalue modifiable.
Exemple 3 : Utilisation de back avec sort pour obtenir les valeurs max/min
Après le tri,back()Renvoie la valeur maximale.
Exemple
#include <array>
#include <algorithm>
int main() {
std::array<int, 5> numbers = {30, 10, 50, 20, 40};
std::cout << "Avant le tri : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Trier
std::sort(numbers.begin(), numbers.end());
std::cout << "Après tri : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
std::cout << Valeur minimale (front) : << numbers.front() << std::endl;
std::cout << Valeur maximale (back) : << numbers.back() << std::endl;
return 0;
}
Sortie attendue :
排序前: 30 10 50 20 40 排序后: 10 20 30 40 50 最小值 (front): 10 最大值 (back): 50
Analyse du code :
- Après le tri,
front()Renvoie la valeur minimale,back()Renvoie la valeur maximale. - C'est une façon simple d'obtenir la valeur maximale/minimale.
autres extensions