2010-02-03 20 views
12

मैं boost.python साथ ++कोई नहीं

d = {} 
d[0] = None 
सी में

निम्नलिखित कोड का अनुवाद करने में कोशिश कर रहा हूँ

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

मैं कैसे boost.python में कोई भी वस्तु मिल सकता है?

उत्तर

18

कि लेता है boost::python::object का कोई निर्माता नहीं है एक PyObject* (मेरी समझ से, ऐसे ही एक ctor पूरे विचार को अमान्य होगा सी ++ वैसे भी प्रकार के मानचित्रण अजगर प्रकार, PyObject * कुछ भी हो सकता है क्योंकि अगर)। documentation के अनुसार:

object();

प्रभाव: एक वस्तु अजगर None वस्तु के लिए एक संदर्भ के प्रबंधन निर्माण करती है।

2

आप इस्तेमाल कर सकते हैं: None को

d[0] = d.get(0) 

d.get चूक यदि आप एक डिफ़ॉल्ट मान निर्दिष्ट नहीं है।

संबंधित मुद्दे