RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: Beginner
Oct 17, 2006

Range Checking Vectors

This standard library vector can be used like an array. For example:

std::vector v(2); // vector of size 2
v[0] = 5;
v[1] = v[0];
If you're using an out-of-range index, the behavior is undefined. The program might crash without an appropriate error message. The statement:

v[2] = 0;
gives undefined behavior. To access a vector element safely, the at() member function may be used rather than the operator[]. While the statements:

v.at(0) = 5;
v.at(1) = v.at(0);
have the same effects as the statements indicated in the example above, the statement:

v.at(2) = 0;
does not cause undefined behavior, instead it throws an std::out_of_range exception.

Kevin Spiteri
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date