最終更新日 2026-05-01

配列とポインター(配列自体の変更)

概要

ポインタ経由で配列を渡します。ポインターが指し示す先の配列をC++側で入れ替えることで、新たな配列をC#へと伝達します。

配列とポインター(配列自体の変更)

C#とC++のやりとりは最終的には「ポインター」と「渡したデータのサイズ」の2つがあれば
あとは、データ内容を型に当てはめて解釈するだけです。 C#側で確保した(AllocCoTaskMem)メモリはC++側で解放(CoTaskMemFree)、C++側で確保したメモリ(CoTaskMemAlloc)はC#側で解放(FreeCoTaskMem)といった流れにやりやすいので、
その点を気をつけましょう。