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

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

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

附:我的博客地址

    原文作者:_帅乐_
    原文地址: https://www.jianshu.com/p/35adc07f5c66
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞