Übersetzen in C++ aus Visual Basic

Visual Basic behandelt Zeiger implizit. In C++ ist Ihre Anwendung für die Durchführung der erforderlichen Zeigerarithmetik verantwortlich.

Standardmäßig übergibt Visual Basic Parameter als Verweis (als Zeiger). Parameter, die nur als Wert übergeben werden sollen, werden durch das Schlüsselwort ByVal angegeben. Beispielsweise entspricht ein ByVal  Integer-Parameter in Visual Basic einem kurzen Parameter in C++, während ein ByRef  * Integer-Parameter in Visual Basic einem short-Parameter entspricht.

Ein Parameter, der in der Visual Basic als Zeichenfolge deklariert ist, wird als Zeiger auf einen BSTR in C++ deklariert. Das Festlegen eines Zeichenfolgenzeigers auf NULL in C++ entspricht dem Festlegen der Zeichenfolge auf die vbNullString-Konstante in Visual Basic. Das Übergeben einer Zeichenfolge der Länge 0 (null) ("") an eine Funktion, die für den Empfang von NULL konzipiert ist, funktioniert nicht, da dadurch ein Zeiger auf eine Zeichenfolge der Länge 0 (null) anstatt auf einen Nullzeiger übergeben wird.

C++ und Visual Basic unterscheiden sich geringfügig in ihrer Darstellung von Eigenschaften. In C++ werden Eigenschaften als eine Gruppe von Accessorfunktionen dargestellt, eine, die den Eigenschaftswert und eine, die den Eigenschaftswert abruft. In Visual Basic werden Eigenschaften als einzelnes Element dargestellt, das zum Abrufen oder Festlegen des Eigenschaftswerts verwendet werden kann.

Übersetzen in C++