Compartilhar via


Como: Pin ponteiros e matrizes

Fixar um sub -objeto definido em umobjeto de gerenciadotem o efeito de fixação de todo o objeto. Por exemplo, se qualquer elemento de uma matriz é fixado, a matriz inteira também está fixada.Não há nenhum extensões para o idioma para declarar uma matriz fixada.Para fixar uma matriz, declare um ponteiro de fixação para seu tipo de elemento e o pin, um de seus elementos.

Exemplo

18132394.collapse_all(pt-br,VS.110).gifCó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
}

18132394.collapse_all(pt-br,VS.110).gifSaída

++

Consulte também

Referência

pin_ptr (C++/CLI)