CLR C++ Q. Does BYTE b[10] create a ref class System.Array?
-
// IN A CLR C++ PROJECT // AN ARRAY. SHOWS IN LOCALS WINDOW AS TYPE array array<byte> ^ a = gcnew array<BYTE>(10); // A BYTE ARRAY. SHOWS IN LOCALS WINDOW LIKE A NATIVE ARRAY BYTE b[10]; b[0] = 5; // A POINTER LPBYTE p = &b[0]; The pointer is to be passed to api as a buffer to fill The question: is b actually a ref system.array instance and therefore pin_ptr should be used instead? If so this must cause some subtle bugs?
-
// IN A CLR C++ PROJECT // AN ARRAY. SHOWS IN LOCALS WINDOW AS TYPE array array<byte> ^ a = gcnew array<BYTE>(10); // A BYTE ARRAY. SHOWS IN LOCALS WINDOW LIKE A NATIVE ARRAY BYTE b[10]; b[0] = 5; // A POINTER LPBYTE p = &b[0]; The pointer is to be passed to api as a buffer to fill The question: is b actually a ref system.array instance and therefore pin_ptr should be used instead? If so this must cause some subtle bugs?
Will5801 wrote:
The question: is b actually a ref system.array instance
No.
Mark Salsbery Microsoft MVP - Visual C++ :java:
-
Will5801 wrote:
The question: is b actually a ref system.array instance
No.
Mark Salsbery Microsoft MVP - Visual C++ :java:
but in C#:
byte[] b;
creates an instance for system.array