Como: Testar a igualdade

No exemplo a seguir, um teste de igualdade usando extensões gerenciadas para C++ baseia-se em que os ponteiros de ponto.

Para obter mais informações, consulte Quebrar alterações no compilador de 2005 Visual C++.

Exemplo

// 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);
}

O IL para este programa mostra que o valor retornado é implementado com essa instrução:

  IL_0012:  ceq

que compara os endereços dos dois objetos String.

Usando a nova sintaxe,

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

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

O IL para este programa mostra que o valor retornado é implementado com uma telefonar para op_Equality.

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

Consulte também

Outros recursos

Tipos gerenciado