std::vector::back (tsz. std::vector::backs)
std::vector::back()
egy tagfüggvény a C++ Standard Template Library (STL) std::vector
osztályában, amely visszaadja a vektor utolsó elemére való hivatkozást.
reference back();
const_reference back() const;
reference
: visszatérési típus írható referencia (pl. int&
)const_reference
: ha a vektor const
, akkor csak olvasható
vector
)
#include <vector>
#include <iostream>
int main() {
std::vector<int> v = {10, 20, 30};
std::cout << v.back() << "\n"; // 30
v.back() = 99; // utolsó elem módosítása
std::cout << v.back() << "\n"; // 99
}
const std::vector<std::string> names = {"Alice", "Bob", "Carol"};
std::cout << names.back() << "\n"; // Carol
// names.back() = "Eve"; // ❌ hibás, nem írható
back()
csak akkor hívható, ha a vektor nem üres, különben definiálatlan viselkedés lép fel (UB).
std::vector<int> v;
int x = v.back(); // ❌ undefined behavior, ha üres
📌 Megoldás:
if (!v.empty()) {
std::cout << v.back();
}
v.pop_back(); // eltávolítja a v.back()-et
v.push_back(100); // betesz
int top = v.back(); // megnéz
v.pop_back(); // kivesz
Tulajdonság | Részlet |
---|---|
Függvény neve | back()
|
Visszatérés | Referencia az utolsó elemre |
Konstans verzió | const_reference back() const
|
Művelet ideje | O(1) (konstans idő) |
Hiba | Üres vektor → undefined behavior |