Traducción a C++ desde Visual Basic

Visual Basic controla los punteros implícitamente. En C++, tu aplicación es responsable de realizar la operación de aritmética de punteros necesaria.

De forma predeterminada, Visual Basic pasa parámetros por referencia (como punteros). La palabra clave ByVal especifica solo los parámetros que se van a pasar por valor. Por ejemplo, un parámetro ByValInteger en Visual Basic equivale a un parámetro short en C++, mientras que un parámetro ByRefInteger en Visual Basic equivale a un parámetro short*.

Un parámetro declarado As String 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 la propiedad. En Visual Basic, las propiedades se representan como un único elemento que se puede usar para recuperar o establecer el valor de propiedad.

Traducción a C++