방법: 내부 포인터 및 관리되는 배열 선언 및 사용(C++/CLI)
다음 C++/CLI 샘플에서는 배열에 대한 내부 포인터를 선언하고 사용하는 방법을 보여 줍니다.
Important
이 언어 기능은 /clr
컴파일러 옵션에서 지원하지만 /ZW
컴파일러 옵션에서는 지원하지 않습니다.
예시
코드
// interior_ptr_arrays.cpp
// compile with: /clr
#define SIZE 10
int main() {
// declare the array
array<int>^ arr = gcnew array<int>(SIZE);
// initialize the array
for (int i = 0 ; i < SIZE ; i++)
arr[i] = i + 1;
// create an interior pointer into the array
interior_ptr<int> ipi = &arr[0];
System::Console::WriteLine("1st element in arr holds: {0}", arr[0]);
System::Console::WriteLine("ipi points to memory address whose value is: {0}", *ipi);
ipi++;
System::Console::WriteLine("after incrementing ipi, it points to memory address whose value is: {0}", *ipi);
}
1st element in arr holds: 1
ipi points to memory address whose value is: 1
after incrementing ipi, it points to memory address whose value is: 2