Pues eso… un articulillo que acabo de publicar (bueno, hace ya una hora y pico) en mi sitio, sobre los punteros en C/C++ (e incluso C#), pero que también vale para el manejo de otros tipos de objetos a los que se accede por referencia…
Aquí tienes el enlace y la descripción…
Si usas punteros… apúntate esta
Cuidados que debes tener si utilizas punteros, normalmente si usas C/C++ e incluso C# (algunos dirán que Object Pascal también tiene punteros, pero yo no lo uso…).
[Este artículo es sólo apto para mentes abiertas que usen punteros o hayan querido usarlos o simplemente piensen que con los punteros sr vive mejor, aunque lo parezca, el contenido no es de guasa]
Y para aquellos que programan con Visual Basic (cualquier versión, ya sea o no para punto NET) decirles que tampoco están libres, ya que (a su manera) Visual Basic también usa punteros. …
…en realidad esto es muy útil para todos los que programan, ya sean con punteros directamente o con los punteros camuflados que hacen "referencia" a objetos…
Espero que te sea de utilidad.
Nos vemos.
Guillermo
P.S.
También puedes ver los comentarios en el enlace al artículo que he publicado con fecha de hoy en la página de elGuille en Facebook:
http://www.facebook.com/pages/elGuille/82093985818?v=app_2309869772
P.S.2
Mirando, mirando, el "rano" usease RFOG, tiene un artículo sobre punteros y referencias que seguro que te puede parecer interesante:
I – Punteros y referencias
Las similitudes y diferencias de los punteros en C++ nativo y las referencias en C++/CLI (.NET)
…
Hola, Guille. Muy bueno el ejemplo de los punteros camuflados.
¿Es lo que pasa también cuando se usa el ByRef de VS o ref de C# antes del parámetro en un método?
Saludos
Hola, gracias.
El ByRef/ref/out es diferente, ya que en realidad el problema es que pueden recibir un valor en la variable indicada, pero esas variables suelen ser «por valor» no por referencia (una variable que no tiene el valor sino que «apunta» al objeto al que «se refiere»).
Por ejemplo, usar ByRef en un objeto por referencia no tiene ningún sentido, ya que incluso con ByVal se puede cambiar el contenido, ya que en realidad lo que se pasa es la dirección del objeto al que se hace referencia…