wyjście poza zarkes vectora - bezpieczeństwo

0

Witam,
mam pytanie czy dozwolone (bezpieczne) jest wyjście poza tablicę vectora o 1 element i pobranie adresu tego fragmentu pamięci?
Tzn. chodzi przykładowo o taki zapis:

vector<MojaKlasa> vec(10); MojaKlasa* end_vec = vec[vec.size()];

Oczywiście nie planuję odczytywać wartości z tej pamięci tylko chcę porównywać inny wskaźnik z tą wartością, czy nie wyszedł poza zakres tablicy tj. np.

while(wsk < end_vec){DoSomething;}

Natomiast czasami jak się wyjdzie poza zakres tablicy w trakcie działania programu to wywala errory i zastanawiam się, czy jest to bezpieczne?

Z góry dzięki za odpowiedź.

2

od tego jest vec.end()

vector<MojaKlasa>::iterator it = vec.begin();
while (it != vec.end())
{
   ...
   ++it;
}
0

W sumie tak też można! Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1