Partager via


Comment : Pointeurs et tableaux d'épingle

Épingler un sous-objet défini dans un objet managé a pour effet d'épingler l'objet entier. Par exemple, si un élément d'un tableau est épinglé, alors la table entière est également épinglé. Il n'y a aucune extension du langage pour déclarer un tableau d'octets épinglé. Pour figer un tableau, déclarez un pointeur épingle à son type d'élément, et épinglez une de ses éléments.

Exemple

Code

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

Sortie

++

Voir aussi

Référence

pin_ptr