我在 C++ 中有一个单例类(没有公共构造函数,C++ 程序员调用 class.instance() 来创建单例或返回现有的)。
我更愿意在 Python 级别隐藏它。如果我正在编写 Python 单例,我会在__new__
. 如果一个类没有公共构造函数,我认为我不能创建一个__init__
包装器(我的尝试失败了)。__new__
我在 pybind11 文档中没有看到任何提及(尽管可能错过了它,而且 Google 似乎很乐意忽略包含“新”的返回页面,但没有提及__new__
)。
pybind11(甚至 Boost.Python)有单例配方吗?