Увеличить размер класса Python

#python #boost #boost-python

#python #увеличить #увеличить-python

Вопрос:

У меня есть простой класс на C :

 class Foo {
    char arr[5];
};
static_assert(sizeof(Foo) == 5);
  

Я предоставляю этот класс с помощью Boost Python:

 #include <boost/python.hpp>

BOOST_PYTHON_MODULE(example)
{
    boost::python::class_<Foo>("Foo");
}
  

Теперь я хочу получить размер класса C из Python. Я пробовал эти:

 example.Foo().__instance_size__
example.Foo().__sizeof__()
  

Но они дают 24 и 48 , которые, очевидно, не то, что мне нужно.

Есть ли способ лучше, чем реализовать и привязать метод явно?