Iterator end() wskazujący na ostatni element
Ostatnio zmodyfikowano 2020-12-10 22:01
wwojtas Temat założony przez niniejszego użytkownika |
Iterator end() wskazujący na ostatni element » 2020-12-10 21:35:51 Zgodnie z treścią: [lekcja] Rozdział 48. Omówienie funkcjonalności kontenera std::vector<> " Iteratory można dostać wywołując metody begin(), end(). begin() zwraca iterator na pierwszy element kontenera, który to element niekoniecznie musi istnieć. end() zwraca iterator "zakońcowy" (past-the-end iterator), wskazujący na element za ostatnim, który oczywiście nie istnieje i niekoniecznie musi wskazywać na zarezerwowaną pamięć. " Załóżmy, że: #include <iostream> #include <vector>
using namespace std;
int main() { vector < int > numer { 10, 20, 30 }; vector < int >::iterator iteruj = numer.end() - 1; cout << "poczatek" << " " << numer.front() << endl; cout << "srodek" << " " << numer.at( 1 ) << endl; cout << "koniec" << " " << numer.back() << endl; cout << "rozmiar" << " " << numer.size() << endl; cout << "pojemnosc" << " " << numer.capacity() << endl; cout << * iteruj << endl; return 0; }
Czy mogę w ten sposób zwrócić iterator na ostatni element kontenera (wpisując -1)? W sumie wskazuje na wartość oczekiwaną... |
|
DejaVu |
» 2020-12-10 21:52:31 auto iteratorNaOstatniElement = kontener.rbegin();
|
|
pekfos |
» 2020-12-10 22:01:53 Można się cofnąć do ostatniego elementu, jeśli iterator jest dwukierunkowy lub lepszy. |
|
« 1 » |