您好,登錄后才能下訂單哦!
這篇文章給大家介紹把Python嵌入C++的運算符重載的操作步驟是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
把Python嵌入C++的運算符重載中你如果在C++中對相關運算符重載后,把Boost.Python傳給Python時,你就可以將以下的代碼將Msg類的“+”運算符重載,然后通過“.def(self + self)”傳遞給Python。
class Msg:public Message { public: int count; Msg(std::string m):Message(m) { } void setcount(int n) { count = n; } int getcount() { return count; } int operator+ (Msg x) const { int r; r = count + x.count; return r; } }; BOOST_PYTHON_MODULE(Message) { class_<Message>("Message",init<std::string>()) .add_property("msg",&Message::get,&Message::set); class_<Msg, bases<Message> >("Msg",init<std::string>()) .def("setcount", &Msg::setcount) .def("getcount", &Msg::getcount) .def(self + self); }
把Python嵌入C++的運算符重載中對于其他的運算符重載也可以使用同樣的方法,如下所示。
.def(self - self) // 相當于_sub_方法
.def(self * self) // 相當于_mul_方法
.def(self /self) // 相當于_div_方法
.def(self < self); // 相當于_lt_方法
關于把Python嵌入C++的運算符重載的操作步驟是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。