Ich verwende Cython, um meine C++ - Klassen zu umbrechen. Einige Methoden geben etw zurück. wie class_name*
. class_name
möglicherweise einige komplizierte Klasse bereits in pxd und pyx-Datei beschrieben (wie es hier in der erweiterten Antwort https://stackoverflow.com/a/39116733/4881441 erwähnt wird). Aber Cython sagt in pyx defs, dass ich keinen Python-Typ zurückgebe. Ich möchte C++ - ähnliche Zeiger in Python zurückgeben und dann Methoden dieser Objekte verwenden und sie an C++ - Methoden übergeben.C++ - Zeiger in Cython
1
A
Antwort
1
Sie können einen Zeiger nicht direkt von einer def
-Methode zurückgeben (nur von einer cdef
).
Sie müssen eine Cython-Wrapper-Klasse schreiben, die den Zeiger speichert, den Sie übergeben möchten, und Sie können dieses Wrapper-Objekt zurückgeben. Wenn Sie Methoden auf dem C++ - Objekt ausführen möchten, müssen Sie auch Ihren Cython-Wrapper verwenden und die Methodenaufrufe an die gespeicherte Instanz delegieren.
Verwandte Themen
- 1. Python-Objekt in Cython-Zeiger konvertieren
- 2. Numpy-Array und C-Zeiger in Cython deklarieren
- 3. Cython & C++: Durch Referenz
- 4. ein C++ struct in Cython
- 5. Cython C++ Vorlagen
- 6. Cython C-array Initialisierung
- 7. Cython, C und Fortran
- 8. Zeiger auf Zeiger in C++
- 9. Wie Zeiger verwenden Struktur in Cython Verlängerungs-Art
- 10. Pickle Cython-Klasse mit C-Zeigern
- 11. Zugriff auf c-Zeiger in Python-Klasse von Python-Methode, Cython
- 12. Cython: reine C-Schleife Optimierung
- 13. Einfache Umhüllung von C-Code mit Cython
- 14. Wrap C++ - Lib mit Cython
- 15. Projektorganisation mit Cython und C++
- 16. Cython C++ Beispiel erkennt C++ nicht, warum?
- 17. Cython-Klasse Vererbung und Einbettung in C++
- 18. Behandeln von benutzerdefinierten C++ - Ausnahmen in Cython
- 19. Einbetten von Cython-Klassenmethoden in C++
- 20. C-Zeiger vs. Objective-C-Zeiger
- 21. Funktion Zeiger in C
- 22. Druck Zeiger in C
- 23. Über Zeiger in C
- 24. Void-Zeiger in C++
- 25. Zeiger-Array in C++
- 26. Laufzeitfehler - Zeiger in c
- 27. void-Zeiger in C++
- 28. Array-Zeiger in C++
- 29. Null-Zeiger in C++
- 30. Zeiger in C#?
Mögliches Duplikat von [Wie werden neue C++ - Objekte in Cython zurückgegeben?] (Http://stackoverflow.com/questions/16882625/how-to-return-new-c-objects-in-cython) – DavidW