Я использую pybind11 в качестве оболочки моего кода C++ в библиотеке Python.
Бывает, что есть аргументы, которые я не могу предоставить, или иногда я хочу сделать преобразование/инициализацию, которую я знаю на стороне C++. Например, это может быть потому, что класс не известен в python. Как это можно было сделать? Единственное «решение», которое я вижу до сих пор, — это создать унаследованный прокси-класс в C++.
Пример: я хочу определить/связать класс python A:
class A:
def __init__(self, B b):
...
С эквивалентным классом С++:
class A {
A(C c, D d);
}
Есть ли какая-то лямбда или эквивалент, который я мог бы создать для pybind11::init‹>?
c
иd
изb
? Ваш вопрос не совсем ясен... Не могли бы вы привести пример того, как вы хотите использовать класс на стороне Python и что вы хотели бы сделать на стороне C++, даже если это недействительный C++? - person Holt   schedule 10.06.2020