这是我从 CLI 到本机的转换字节数组的变体:
byte* GetNative(array<System::Byte, 1> ^ byteArray) {
try {
pin_ptr<unsigned char> array_pin = &byteArray[0];
return (byte*) array_pin;
}
catch(...) {
return 0;
}
}
我的问题是关于array_pin
. 我想我需要删除它,但是如果我删除它,那么带有我的byte*
指针的变量将被破坏(或者至少可能被破坏。)
使用此变体是否安全?或者,我必须如何以及何时删除array_pin
?有没有更简单的方法来实现字节转换?