2010-02-03 18 views
12

我試圖用Boost.Python的翻譯下面的代碼沒有在Boost.Python的

d = {} 
d[0] = None 

到C++

boost::python::dict d; 
d[0] = ?None 

我怎樣才能在Boost.Python的一個無對象?

回答

18

沒有的boost::python::object構造函數一個PyObject*(從我的理解,這樣的一個構造函數將無效的整個想法,如果映射的Python類型和C++類,無論如何,因爲*的PyObject可以是任何東西)。根據documentation

object();

效果:構造一個對象管理到的Python None對象的引用。

2

你可以使用:

d[0] = d.get(0) 

d.get默認爲None,如果你不指定一個默認值。