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)