C++ <array> back-Funktion
Bei verschiedenen Operationen mit Arrays,backist eine sehr praktische Funktion, die zumAbrufen des letzten Elements verwendet wird。
backist eine Memberfunktion von Container-Klassen, die verwendet wird, umdas letzte Element des Containers zurückzugeben. Sie ist äquivalent zuat(size()-1)oderoperator[](size()-1), aber mit klarerer Semantik.
backbietet eine intuitive Möglichkeit, auf das letzte Element eines Containers zuzugreifen.
Wortdefinitionen: backbedeutet "back", d. h., das letzte (hinterste) Element abzurufen.
Grundlegende Syntax und Parameter
backist eine Memberfunktion der Containerklasse, und ihr Aufruf ist sehr unkompliziert; sie benötigt keine Parameter.
Syntaxformat
reference back(); const_reference back() const;
Parameterbeschreibung
- Parameter: Keine Parameter
backakzeptiert keine Parameter.
Funktionsbeschreibung
- Rückgabewert: gibt das letzte Element des Containers alsReferenzzurück. Wenn der Container ein konstanter Container ist, gibt es eine konstante Referenz zurück.
- Wirkung: gibt das letzte Element des Containers zurück (Index
size()-1Element an Position). - Hinweis: Das Array darf nicht leer sein, daher ist der Aufruf
backEs ist sicher.
Beispiel
Lass uns das anhand einer Reihe von Beispielen gründlich meistern.backVerwendung.
Beispiel 1: Grundlegende Verwendung - das letzte Element abrufen
Beispiel
#include <array>
int main() {
// 1. Ein Array erstellen und initialisieren
std::array<int, 5> numbers = {10, 20, 30, 40, 50};
std::cout << "Die Größe des Arrays ist: " << numbers.size() << std::endl;
// 2. Verwende back(), um das letzte Element zu erhalten
std::cout << "Das letzte Element (back): " << numbers.back() << std::endl;
std::cout << "Verwenden von at(size()-1): " << numbers.at(numbers.size() - 1) << std::endl;
std::cout << "Verwenden von [size()-1]: " << numbers[numbers.size() - 1] << std::endl;
return 0;
}
Erwartete Ausgabe:
array的大小是: 5 最后一个元素 (back): 50 使用 at(size()-1): 50 使用 [size()-1]: 50
Codeanalyse:
numbers.back()gibt das letzte Element zurück50。- Es und
numbers.at(numbers.size()-1)undnumbers[numbers.size()-1]gibt denselben Wert zurück, aber mit expliziterer Semantik.
Beispiel 2: Ändern des Werts des letzten Elements
backEs gibt eine Referenz zurück, sodass es verwendet werden kann, um den Wert des Elements zu ändern.
Beispiel
#include <array>
#include <string>
int main() {
std::array<std::string, 3> tasks = {"C++ lernen", "Hausaufgaben machen", "Dokumentation lesen"};
std::cout << "Vor der Änderung, die letzte Aufgabe: " << tasks.back() << std::endl;
// Verwende back(), um eine Referenz zu erhalten und das Element zu ändern
tasks.back() = "Projekt abschließen";
std::cout << "Nach der Änderung, die letzte Aufgabe: " << tasks.back() << std::endl;
return 0;
}
Erwartete Ausgabe:
Before modification, the last task: Read the documentation After modification, the last task: Complete the project
Codeanalyse:
tasks.back() = "完成项目";Der Wert des letzten Elements wird durch die Referenz geändert.back()gibt eine modifizierbare lvalue-Referenz zurück.
Beispiel 3: back mit sort verwenden, um Max-/Min-Werte zu erhalten
Nach dem Sortieren,back()Gibt den maximalen Wert zurück.
Beispiel
#include <array>
#include <algorithm>
int main() {
std::array<int, 5> numbers = {30, 10, 50, 20, 40};
std::cout << "Vor dem Sortieren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Sortieren
std::sort(numbers.begin(), numbers.end());
std::cout << "Nach dem Sortieren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
std::cout << Minimalwert (vorne): << numbers.front() << std::endl;
std::cout << Maximalwert (hinten): << numbers.back() << std::endl;
return 0;
}
Erwartete Ausgabe:
排序前: 30 10 50 20 40 排序后: 10 20 30 40 50 最小值 (front): 10 最大值 (back): 50
Codeanalyse:
- Nach dem Sortieren,
front()Gibt den Minimalwert zurück,back()Gibt den maximalen Wert zurück. - Dies ist eine einfache Möglichkeit, den Maximal-/Minimalwert zu erhalten.
Weitere Erweiterungen