出于性能原因,我有一个C#前端和一个C++后端。 现在我想调用C++之类的函数,例如:Howto使用std :: vector作为C#参数调用非托管C++函数?
void findNeighbors(Point p, std::vector<Point> &neighbors, double maxDist);
我想有像一个C#包装函数:
List<Point> FindNeigbors(Point p, double maxDist);
我能通过一个平面数组像点[]到非托管的C++ DLL,但问题是,我不知道分配多少内存,因为我不知道函数将返回的元素数量...
有没有一个优雅如何处理这个问题,而不会造成内存泄漏问题?
感谢您的帮助!
本杰明