Cómo: Probar la igualdad
Actualización: noviembre 2007
En el ejemplo siguiente, una prueba de igualdad utilizando Extensiones administradas para C++ se basa en lo que señalan los punteros.
Para obtener más información, vea Cambios importantes en el compilador de Visual C++ 2005.
Ejemplo
// 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);
}
El lenguaje intermedio para este programa muestra que el valor devuelto se implementa con esta instrucción:
IL_0012: ceq
que compara las direcciones de los dos objetos String.
Con la nueva sintaxis,
// mcppv2_equality_test_2.cpp
// compile with: /clr /LD
using namespace System;
bool Test1() {
String ^ str1 = "test";
String ^ str2 = "test";
return (str1 == str2);
}
El lenguaje intermedio para este programa muestra que el valor devuelto se implementa con una llamada a op_Equality.
IL_0012: call bool [mscorlib]System.String::op_Equality(string,
string)