次の方法で共有


方法 : ポインターと配列を固定する

マネージ オブジェクトで定義されるサブ オブジェクトを固定すると、全体のオブジェクトを固定する効果があります。たとえば、配列の要素が固定される合わせれば、配列全体または固定。拡張は、固定された配列を宣言するための言語はありません。配列を固定するには、要素の要素の型とピン設定 1 に固定ポインターを宣言します。

18132394.collapse_all(ja-jp,VS.110).gifコード

// pin_ptr_array.cpp
// compile with: /clr
#include <stdio.h>
using namespace System;

int main() {
   array<Byte>^ arr = gcnew array<Byte>(4);
   arr[0] = 'C';
   arr[1] = '+';
   arr[2] = '+';
   arr[3] = '\0';
   pin_ptr<Byte> p = &arr[1];   // entire array is now pinned
   unsigned char * cp = p;

   printf_s("%s\n", cp); // bytes pointed at by cp
                         // will not move during call
}

18132394.collapse_all(ja-jp,VS.110).gif出力

++

参照

関連項目

pin_ptr (C++/CLI)