managedとunmanagedの世界を行き来するには

managedの文字列データをunmanagedの文字列データに変換する方法

String* str = "〜";
char* cStr = static_cast( System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str).ToPointer() );

上記のデータを使い終わったら下記の方法でメモリを開放する

System::Runtime::InteropServices::Marshal::FreeCoTaskMem(IntPtr(cStr));
仕事で

現在のプロジェクトで、正式にC#を使うことが決定しました。そのため、私はC++C#pythonと3つの言語で開発することになりました。なかなか、エキサイティングでいい感じかな?