質問: VC++の配列ポインタ宣言方法について教えて下さい。 例 array^agcnew array(10)とした場合、aをポインタ宣言するにはどうすれば良いでしょうか?
回答: マネージド型のポインタは interior_ptr や pin_ptr を使います。 また、ネイティブ型とのマーシャリングには IntPtr を使います。 using namespace System; #include int main(void) { array^a = gcnew array(10); for (int i = 0; i < a->Length; ++i) { a[i] = i; } interior_ptr p = &a[0]; for (int i = 0; i < a->Length; ++i) { Console::Write("{0,2:F0}", *p++); } Console::WriteLine(); float b[10]; IntPtr fp(b); System::Runtime::InteropServices::Marshal::Copy(a, 0, fp, a->Length); for (int i = 0; i < a->Length; ++i) { printf("%2.0f", b[i]); } printf("\n"); }