Use STL containers instead of C arrays

This tip submitted by Sang-drax on 2004-12-29 00:00:00. It has been viewed 34419 times.
Rating of 5.6 with 213 votes

When using C++, you should always strive to use STL containers like std::vector and std::list instead of ordinary C arrays.

Consider this example:
int* array = new array[size];
delete[] array;

All is fine, until doSomething() is changed to throw an exception. If doSomething throws, we will have a memory leak.

The correct way of doing this is:
vector array(size);

If doSomething() throws an exception now, no memory will be leaked.

This is just one of the reasons to use STL containers instead of C arrays. STL containers are much less error prone, more robust and easier to use.

More tips

Help your fellow programmers! Add a tip!