En C++/CLI, ¿es posible fijar una matriz que no contiene elementos?Fijación de una matriz vacía
p. Ej.
array<System::Byte>^ bytes = gcnew array<System::Byte>(0);
pin_ptr<System::Byte> pin = &bytes[0]; //<-- IndexOutOfRangeException occurs here
El consejo dado por MSDN no cubre el caso de las matrices vacías. http://msdn.microsoft.com/en-us/library/18132394%28v=VS.100%29.aspx
Como un aparte, puede que se pregunte por qué querría fijar una matriz vacía. La respuesta corta es que quiero tratar los arreglos vacíos y no vacíos de la misma manera para la simplicidad del código.
Gracias por la respuesta de trabajo! En cuanto a su comentario sobre el uso de 'List ^', ¿hay algún beneficio que no sea el cambio de tamaño dinámico? Cambiar el tamaño no es un problema para mí en el escenario particular. –
dss539
Solo que sonaba como si estuviera cambiando el tamaño de las matrices. Ignorar. –
Pensándolo bien, ¿por qué no pasas un puntero nulo? Nunca debes desreferenciar el puntero que obtienes de todos modos. Al menos con un puntero nulo notarás. –