Ce face std::vector::front
v.front() este echivalent cu v[0], iar v.back() cu v[v.size() - 1]. Ambele returnează o referință, deci poți și modifica elementul.
Pe un vector gol, ambele sunt comportament nedefinit (nu aruncă excepții). Verifică întâi empty().
Ce returnează
O referință la primul (front) sau la ultimul (back) element.
Exemple
Exemplul 1: Primul și ultimul din clasament
#include <print>
#include <string>
#include <vector>
int main() {
std::vector<std::string> clasament{"Ioana", "Andrei", "Maria", "Radu"};
if (!clasament.empty()) {
std::println("Locul 1: {}", clasament.front());
std::println("Ultimul loc: {}", clasament.back());
}
clasament.back() = "Radu (descalificat)";
std::println("{}", clasament);
}
Rezultat
Locul 1: Ioana
Ultimul loc: Radu
["Ioana", "Andrei", "Maria", "Radu (descalificat)"]
Greșeli frecvente
- Apelezi
front()sauback()pe un vector gol, de exemplu după ce ai citit 0 elemente. Este comportament nedefinit; verificăempty(). - Confunzi
back()(ultimul element) cuend()(iterator după ultimul element, care nu poate fi citit).
Comenzi înrudite
std::vector::at: Returnează elementul de la o poziție, cu verificare: aruncă std::out_of_range dacă poziția nu există.std::vector::begin: begin() dă un iterator la primul element, end() unul după ultimul, iar rbegin() pornește parcurgerea de la coadă.std::vector::pop_back: Șterge ultimul element al vectorului; dimensiunea scade cu 1.