最終更新日 2024-09-25

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

概要

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

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

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