Freigeben über


Gewusst wie: Test auf Gleichheit

Aktualisiert: November 2007

Im folgenden Beispiel basiert ein Test auf Gleichheit mithilfe von Managed Extensions for C++ darauf, wohin die Zeiger zeigen.

Weitere Informationen finden Sie unter Wichtige Änderungen im Visual C++ 2005-Compiler.

Beispiel

// mcppv2_equality_test.cpp
// compile with: /clr:oldSyntax /LD
using namespace System;

bool Test1() {
   String * str1 = S"test";
   String * str2 = S"test";
   return (str1 == str2);
}

Die IL für dieses Programm zeigt an, dass der Rückgabewert mit dieser Anweisung implementiert wird:

  IL_0012:  ceq

Dadurch werden die Adressen der zwei Zeichenfolgenobjekte miteinander verglichen.

Neue Syntax:

// mcppv2_equality_test_2.cpp
// compile with: /clr /LD
using namespace System;

bool Test1() {
   String ^ str1 = "test";
   String ^ str2 = "test";
   return (str1 == str2);
}

Die IL für dieses Programm zeigt an, dass der Rückgabewert mit dem Aufruf von op_Equality implementiert wird.

  IL_0012:  call       bool [mscorlib]System.String::op_Equality(string,
                                                                 string)

Siehe auch

Weitere Ressourcen

Verwaltete Typen