2010-02-03 22 views
12

sto cercando di tradurre il seguente codiceNessuno in Boost.Python

d = {} 
d[0] = None 

in C++ con Boost.Python

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

Come posso ottenere un oggetto Nessuno in Boost.Python?

risposta

18

Non v'è alcun costruttore della boost::python::object che prende un PyObject* (dalla mia comprensione, un ctor come che potrebbero invalidare l'intera idea se tipi Python ai tipi comunque C++, perché il PyObject * potrebbe essere qualsiasi cosa). Secondo il documentation:

object();

Effetti: Costruisce un oggetto gestione di un riferimento all'oggetto Python None.

2

si potrebbe usare:

d[0] = d.get(0) 

d.get default None se non si specifica un valore predefinito.