Compartir a través de


Cómo: Anclar punteros y matrices

Anclar un subobjeto definido en un objeto administrado tiene el efecto de anclar todo el objeto. Por ejemplo, si se ancla cualquier elemento de una matriz, también se anclará toda la matriz. No hay ninguna extensión para el lenguaje para declarar una matriz anclada. Para anclar una matriz, declare un puntero anclado a su tipo de elemento y ancle uno de sus elementos.

Ejemplo

Código

// 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
}
++

Consulte también

pin_ptr (C++/CLI)