@CJens Ich hab mich nicht darauf bezogen, dass du einen Fehler gemacht hast, sondern darauf, dass du ein erfahrener Programmierer bist und immer noch so programmierst/denkst. Das ist, hmm, sehr suboptimal. Es gibt absolut keinen Grund für das Gefrickel mit malloc. Und deine "Erfahrungen" zeigen nur, dass du falsch getestet hast oder nicht genau verstanden hattest, was passiert oder was das Problem ist. Mit Optimierungen gebaut, hat ein std::vector überhaupt keinen Overhead im Vergleich zu einem C Array. Da ist nicht viel dahinter, das kannst du ganz einfach in Assembler verifizieren. Dass du die Daten an .NET übergeben musst, ist nun mal gar kein Argument. vector.data gibt dir einen Zeiger auf die Daten zurück, was exakt dem C Array entspricht. Außedem könnte man sich mit C++ auch unterschiedliche andere Datenstrukturen und Konzepte anschauen (allein schon, weil man schöner kapseln kann), und das ganze Problem vielleicht deutlich eleganter lösen.