Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Iterator end() wskazujący na ostatni element

Ostatnio zmodyfikowano 2020-12-10 22:01
Autor Wiadomość
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:
C/C++
#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ą...


P-177812
DejaVu
» 2020-12-10 21:52:31
C/C++
auto iteratorNaOstatniElement = kontener.rbegin();
P-177813
pekfos
» 2020-12-10 22:01:53
Można się cofnąć do ostatniego elementu, jeśli iterator jest dwukierunkowy lub lepszy.
P-177814
« 1 »
  Strona 1 z 1