Los mecanismos aparentemente elaborados proporcionados por C++ deberían darle una idea de la importancia crítica que tienen en el lenguaje la inicialización y la limpieza. Mientras Stroustrup diseñaba C++, una de las primeras observaciones que hizo sobre la productividad de C fue que una parte importante de los problemas de programación se deben a la inicialización inapropiada de las variables. Este tipo de errores son difíciles de encontrar, y otro tanto se puede decir de una limpieza inapropiada. Dado que constructores y destructores le permiten garantizar una inicialización y limpieza apropiada (el compilador no permitirá que un objeto sea creado o destruido sin la invocación del constructor y destructor correspondiente), conseguirá control y seguridad completos.
La inicialización de agregados va en la misma línea: evita los errores de inicialización típicos con agregados de tipos predefinidos y hace que el código sea más conciso.
La seguridad durante la codificación es una cuestión importante en C++. La inicialización y la limpieza son una parte importante, pero también verá otras cuestiones de seguridad más adelante en este libro.