2010-02-03 14 views
12

Próbuję tłumaczyć następujący kodBrak w boost.python

d = {} 
d[0] = None 

do C++ z boost.python

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

Jak mogę uzyskać Żaden obiekt w boost.python?

Odpowiedz

18

Nie ma konstruktor boost::python::object że trwa PyObject* (z moim rozumieniu, konstruktor tak by unieważnić całą ideę jeśli rodzaje mapowania Pythona do C++ typów każdym razie, ponieważ PyObject * może być cokolwiek). Według documentation:

object();

Działanie: Tworzy obiekt zarządzający odniesienie do obiektu Python None.

2

Można użyć:

d[0] = d.get(0) 

d.get domyślnie None jeśli nie określić wartość domyślną.