2010-02-03 10 views
12

Je suis en train de traduire le code suivantAucun dans Boost.Python

d = {} 
d[0] = None 

en C++ avec Boost.Python

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

Comment puis-je obtenir un objet Aucun dans Boost.Python?

Répondre

18

Il n'y a pas de constructeur boost::python::object qui prend PyObject* (si je comprends bien, un cteur comme cela invaliderait l'idée si les types de Python mapping à C++ types de toute façon, parce que le PyObject * pourrait être quelque chose). Selon le documentation:

object();

Effets: Construit un objet la gestion d'une référence à l'objet Python None.

2

Vous pouvez utiliser:

d[0] = d.get(0) 

d.get par défaut None si vous ne spécifiez pas de valeur par défaut.

Questions connexes