Comment : épingler des pointeurs et des tableaux
L’épinglage d’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é, la totalité du tableau est également épinglée. Il n’existe aucune extension pour le langage pour déclarer un tableau épinglé. Pour épingler un tableau, déclarez un pointeur épingle à son type d’élément, et épinglez un 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
}
++
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour