Sdílet prostřednictvím


Postupy: Připnutí ukazatelů a polí

Připnutí dílčího objektu definovaného ve spravovaném objektu má vliv na připnutí celého objektu. Pokud je například připnut jakýkoli prvek pole, připne se také celé pole. Pro deklarování připnutého pole neexistují žádná rozšíření jazyka. Chcete-li připnout pole, deklarujte připnutí ukazatele na jeho typ prvku a připněte jeden z jeho prvků.

Příklad

Kód

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

Viz také

pin_ptr (C++/CLI)