Gewusst wie: Anheften von Zeigern und Arrays

Das Fixieren eines Unterobjekts, das in einem verwalteten Objekt definiert wurde, hat Auswirkungen des Anheftens des gesamten Objekts.Beispielsweise wird, wenn ein Element in einem Array fixiert, wird das gesamte Array ebenfalls fixiert.Es gibt keine Erweiterungen der Sprache für das Deklarieren eines festen Arrays.So fixieren. B. ein Array deklarieren, einen festen Zeiger auf den Elementtyp und zu fixieren einer seiner Elemente.

Beispiel

18132394.collapse_all(de-de,VS.110).gifCode

// 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(de-de,VS.110).gifOutput

++

Siehe auch

Referenz

pin_ptr (C++/CLI)