Procedura: verificare l'uguaglianza
Aggiornamento: novembre 2007
Nell'esempio di codice riportato di seguito viene effettuata una verifica di uguaglianza mediante estensioni gestite per C++ in base agli oggetti a cui fanno riferimento i puntatori.
Per ulteriori informazioni, vedere Ultime modifiche al compilatore Visual C++ 2005.
Esempio
// 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);
}
Il codice IL di questo programma indica che il valore restituito viene implementato con la seguente istruzione:
IL_0012: ceq
che confronta gli indirizzi di due oggetti stringa.
Utilizzando la nuova sintassi,
// mcppv2_equality_test_2.cpp
// compile with: /clr /LD
using namespace System;
bool Test1() {
String ^ str1 = "test";
String ^ str2 = "test";
return (str1 == str2);
}
Il codice IL di questo programma indica che il valore restituito viene implementato con una chiamata a op_Equality.
IL_0012: call bool [mscorlib]System.String::op_Equality(string,
string)