Boost Python 哈希

1 投票
1 回答
601 浏览
提问于 2025-04-17 21:12

在Boost::Python里,有没有一个函数可以用来获取一个boost::python::object的哈希值,也就是和Python的hash函数一样的功能?我看了文档,但似乎没有提到相关内容。

1 个回答

2

在Python中,hash的实现是通过C语言中的PyObject_Hash来完成的。如果你有一个随机的对象obj,你可以简单地调用:

long hash = PyObject_Hash(obj.ptr())

boost::python::object上,ptr()方法会返回一个PyObject *,这个指针对那个对象有一个借用的引用。

总的来说,CPython API中有很多内容并没有被boost::python封装。直接调用这些内容其实也很简单。

撰写回答