Traducción a C++ desde Visual Basic
Visual Basic controla los punteros implícitamente. En C++, la aplicación es responsable de realizar cualquier aritmética de puntero necesaria.
De forma predeterminada, Visual Basic pasa parámetros por referencia (como punteros). La palabra clave ByVal especifica los parámetros que están diseñados para pasarse por valor. Por ejemplo, un parámetro ByVal Integer en Visual Basic equivale a un parámetro corto en C++, mientras que un parámetro ByRef Integer en Visual Basic equivale a un parámetro short* .
Un parámetro declarado Como cadena en Visual Basic se declara como puntero a un BSTR en C++. Establecer un puntero de cadena en NULL en C++ equivale a establecer la cadena en la constante vbNullString en Visual Basic. Pasar una cadena de longitud cero ("") a una función diseñada para recibir NULL no funciona, ya que esto pasa un puntero a una cadena de longitud cero en lugar de un puntero cero.
C++ y Visual Basic difieren ligeramente en cómo representan las propiedades. En C++, las propiedades se representan como un conjunto de funciones de descriptor de acceso, una que establece el valor de propiedad y otra que recupera el valor de propiedad. En Visual Basic, las propiedades se representan como un único elemento que se puede usar para recuperar o establecer el valor de la propiedad.
Temas relacionados