2016-06-20 12 views
0

WasDifferenz zwischen Byte-Zeiger und Byte verwalteter Zeiger

BYTE* p; 

Unterschied zwischen und

BYTE^ p; 

ist Enthält diese Erklärungen macht einen Unterschied in C++ cli, wenn es einen Unterschied, was das ist?

Dank im Voraus

+1

Der erste ist ein Zeiger auf ein Byte, der zweite ist ein Box-Byte. –

+0

ist BYTE^ist ähnlich wie BYTE __gc * in verwalteten Erweiterungen? –

+1

Ich denke schon, aber ich habe nie die alte Syntax verwendet. Es ähnelt "System :: Object ^", außer dass Sie wissen, dass es ein Handle für ein (einzelnes) Byte ist: ein eingerahmter Wert, der stark typisiert ist. –

Antwort

0

BYTE^ p würden Sie einen verwaltetes Griff zu einem einzigen, boxed Byte. Sie können nicht viel damit anfangen (Sie können es lesen, und ich bin mir nicht sicher, ob Sie es sogar in C++/CLI schreiben können; Sie können sicherlich nicht in C#), und es gibt wenig Interesse daran, das Byte direkt zu verwenden seine ungeboxte Form.

BYTE* p auf der anderen Seite ist der klassische Zeiger auf ein Byte, das das erste eines Arrays (oder sogar jedes Byte innerhalb eines Arrays davon) sein kann.

pin_ptr kann Ihnen letzteres von ersteren geben.

Verwandte Themen