La creación de objetos en la pila es eficaz y conveniente,
pero para resolver el problema general de programación es
necesario poder crear y destruir objetos en cualquier momento
en tiempo de ejecución, en particular, para que pueda
responder a la información externa al programa. Aunque C
ofrece funciones de asignación dinámica, éstas no proporcionan
la facilidad de uso ni la construcción garantizada de objetos
que se necesita en C++. Al llevar al núcleo mismo del lenguaje
gracias al uso de los operadores new
y
delete
, la creación dinámica de objetos se
hace tan fácil como la creación de objetos en la pila,
añadiendo además una gran flexibilidad. Se puede modificar el
comportamiento de new
y
delete
si no se ajusta a los
requerimientos, particularmente para mejorar la eficiencia, y
también es posible definir su comportamiento en caso de
agotarse la memoria libre.