방법: 내부 포인터 및 네이티브 포인터를 사용하여 함수 오버로드(C++/CLI)
매개 변수 형식이 내부 포인터인지, 네이티브 포인터인지에 따라 함수를 오버로드할 수 있습니다.
Important
이 언어 기능은 /clr
컴파일러 옵션에서 지원하지만 /ZW
컴파일러 옵션에서는 지원하지 않습니다.
예시
코드
// interior_ptr_overload.cpp
// compile with: /clr
using namespace System;
// C++ class
struct S {
int i;
};
// managed class
ref struct G {
int i;
};
// can update unmanaged storage
void f( int* pi ) {
*pi = 10;
Console::WriteLine("in f( int* pi )");
}
// can update managed storage
void f( interior_ptr<int> pi ) {
*pi = 10;
Console::WriteLine("in f( interior_ptr<int> pi )");
}
int main() {
S *pS = new S; // C++ heap
G ^pG = gcnew G; // common language runtime heap
f( &pS->i );
f( &pG->i );
};
in f( int* pi )
in f( interior_ptr<int> pi )
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기