c++传递字符串给c#使用问题

作者: 72行代码 | 来源:发表于2019-04-19 11:07 被阅读3次

C++里,字符串要占用内存的。C++创建字符串,并传给C#,就会造成内存泄露(因为C#不知道C++如何创建,也就不知道如何销毁)。
因此,通常的做法(甚至是C++互相调用的惯例),是

  1. 调用者(这里是C#)准备好一段内存缓冲区(这里是StringBuilder);
  2. 被调用者C++把字符串内容,填充到指定缓冲区去;
  3. 调用者从缓冲区能得到结果,也知道如何清理缓冲(C#自己会用垃圾回收),没有内存泄露问题。

附:我的博客地址

相关文章

网友评论

    本文标题:c++传递字符串给c#使用问题

    本文链接:https://www.haomeiwen.com/subject/kmhayftx.html