如果我有一个 native C++ 函数,根据函数的结果,删除某个指针 (delete[]) 的责任在调用者和函数之间是不同的。我当然会检查返回值并在 C++ 中进行相应操作。
问题是,如果函数在 C++ 和 C# 之间编码,在 C# 中将指针设置为 null 就足够了吗?
最佳答案
没有。 C# 不能做 C++ 中的 delete[] 能做的事情。您必须使用共享内存分配 API,或编写处理清理的 C++ 包装器。
关于c# - C# 和 C++ 之间的编码,以及责任的杂耍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628040/