Как вызвать неуправляемую функцию C ++ с std :: vector в качестве параметра из C #?
У меня есть интерфейс C # и C ++ по соображениям производительности. Теперь я хотел бы вызвать функцию C ++, например:
void findNeighbors(Point p, std::vector<Point> &neighbors, double maxDist);
Я хотел бы иметь функцию-оболочку C #, например:
List<Point> FindNeigbors(Point p, double maxDist);
Я мог бы передать плоский массив, например Point [], в неуправляемую DLL C ++, но проблема в том, что я не знаю, сколько памяти выделить, потому что я не знаю, сколько элементов вернет функция ...
Есть ли элегантный способ справиться с этим без проблем с утечками памяти?
Спасибо за вашу помощь!
Вениамин