C y C++ permiten la declaración y uso de punteros, que pueden ser utilizados en cualquier lugar. Esta tremenda flexibilidad resulta muy útil, pero también es la causa de que podamos colgar todo el sistema.
La intención principal en el uso de los punteros es comunicarnos más directamente con el hardware, haciendo que el código se acelere. Desafortunadamente, este modelo de tan bajo nivel hace que perdamos robustez y seguridad en la programación y hace muy difíciles tareas como la liberación automática de memoria, la defragmentación de memoria, o realizar programación distribuida de forma clara y eficiente.
Las referencias se incorporaron a C++ en un intento de manejar punteros de C de forma más limpia y segura. Sin embargo, como no elimina los punteros, la verdad es que su propósito lo consigue a medias. Es más, podríamos decir que con las referencias C++, el lenguaje se vuelve más complicado y no es más poderoso que antes.
Las referencias deben ser inicializadas cuando se declaran y no
se pueden alterar posteriormente. Esto permite incrementar la
eficiencia en tiempo de ejecución sobre la solución
basada en punteros, pero es más por las deficiencias de
los punteros que por las ventajas de las referencias.
|
[Anterior] [Indice] [Siguiente] |