Dlaczego używanie „vector.at (x)” jest lepsze niż „wektor [x]” w C ++?

Jeśli chcę uzyskać wartość w wektorze, mogę użyć dwóch opcji: użyj operatora []. Lub mogę użyć funkcji .at, aby użyć:

vector<int> ivec;
ivec.push_back(1);

Teraz mogę zrobić obie rzeczy

int x1 = ivec[0];
int x2 = ivec.at(0); // or

Słyszałem, że używanie at jest lepszą opcją, ponieważ kiedy używam tej opcji, mogę rzucić ten wyjątek.

Czy ktoś może to wyjaśnić?

questionAnswers(4)

yourAnswerToTheQuestion