방법: 같음 여부 테스트
업데이트: 2007년 11월
다음 샘플에서 Managed Extensions for C++를 사용한 같음 여부 테스트는 포인터가 가리키는 대상을 기반으로 합니다.
자세한 내용은 Visual C++ 2005 컴파일러의 주요 변경 사항을 참조하십시오.
예제
// 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에서는 다음 명령을 사용하여 반환 값이 구현되는 것을 보여 줍니다.
IL_0012: ceq
이 명령은 두 String 개체의 주소를 비교합니다.
다음과 같이 새 구문을 사용하는 경우
// mcppv2_equality_test_2.cpp
// compile with: /clr /LD
using namespace System;
bool Test1() {
String ^ str1 = "test";
String ^ str2 = "test";
return (str1 == str2);
}
이 프로그램의 IL에서는 op_Equality에 대한 호출을 사용하여 반환 값이 구현되는 것을 보여 줍니다.
IL_0012: call bool [mscorlib]System.String::op_Equality(string,
string)