Краткий ответ: : Вы не можете. Python не имеет указателей
Длинный ответ: В зависимости от варианта использования существуют различные обходные пути.
Я заметил, что вы используете int и int * в вашем примере. Int (наряду с float, str и bool) является особым случаем, потому что он неизменен в python.
Допустим, объект, который вы передаете, на самом деле не является целым.
Иметь функцию-обертку, которая принимает аргумент в качестве ссылки, получает адрес и передает его фактической функции. Это будет работать без проблем в Python.
Хорошо, так сказать, это действительно был int. Теперь у вас есть проблема. Вы не можете изменить переданный вами int. Если вы попробуете то же самое решение, boost :: python будет жаловаться на l-значения во время выполнения. Есть еще несколько вариантов.
Допустим, вам не нужно видеть, как выглядит int после выхода из функции, и вы знаете, что функция не будет сжимать указатель на разыменование после возврата из функции:
Ваша оболочка теперь должна принимать int по значению или по константной ссылке. Все остальное тоже самое.
Может быть, вам ТОЛЬКО нужно увидеть состояние после (int является периметром OUT):
Ваша функция-обертка теперь не будет принимать аргументов и будет передавать адрес локального int действительной функции. Это вернет это значение. Если ваша функция уже имеет возвращаемое значение, она теперь должна вернуть кортеж.
Важны как вход, так и выход, и вы знаете, что функция не будет сжимать указатель на разыменование после того, как функция вернет:
Объедините два выше. Оболочка принимает одно значение типа int и возвращает другое значение типа int.
Функция ожидает сжимать указатель на разыменование после возврата из функции:
Нет действительно хорошего решения. Вы можете создавать и открывать объект в C ++, который содержит C ++ Int. Оболочка возьмет этот объект по ссылке, извлечет адрес содержимого int и передаст его фактической функции. Сохранение объекта живым в python (и защита от сборщика мусора) до тех пор, пока библиотека не закончит с ним, теперь является проблемой автора python, и если он работает, данные повреждены или происходит сбой интерпретатора.