Я пытаюсь создать привязку python с pybind11, которая ссылается на экземпляр C++, память которого обрабатывается на стороне C++. Вот несколько примеров коды:Ссылка на выделенный объект C++ в pybind11
import <pybind11/pybind11>
struct Dog {
void bark() { printf("Bark!\n"); }
};
int main()
{
auto dog = new Dog;
Py_Initialize();
initexample(); // Initialize the example python module for import
// TBD - Add binding between dog and example.dog .
PyRun_StringFlags("import example\n"
"\n"
"example.dog.bark()\n" // Access the C++ allocated object dog.
, Py_file_input, main_dict, main_dict, NULL);
Py_Finalize();
}
я застрял на том, как создать связь между питоном example.dog
и переменного C++ dog
.
Я не могу использовать py:class_<Dog>.def(py::init<>())
, так как это выделит новый экземпляр Dog
, который не является тем, что я хочу.