2012-08-01 27 views
0

C++變量如何訪問已經通過BoostPython方法包裹在Python像下面在C++中的變量(在這種情況下,我想要訪問y):訪問在已經包裹在Python

boost::python::exec("y = x", main_namespace); 

提前致謝。編輯: 假設y是一個整數。

回答

1

所有Python類,函數,變量等都包含在字典中。因爲你似乎已經有main_namespace快譯通,你可以這樣做:

using namespace boost::python; 

// ................................................. 

object y = main_namespace["y"]; 
std::string yString = extract<char const*>(y); 
+0

你可以建議,如果我想使用boost ::蟒蛇:: PTR來完成任務? – 2012-08-01 12:30:23

+0

不,不是爲了這麼簡單。 boost :: python :: ptr是對boost :: python :: object的引用。如果你只想得到一個變量的值,就直接找對象。 – 2013-01-19 03:32:39