我試圖啟動并運行pybind11,但遇到了一些奇怪的語法:
#include <pybind11/pybind11.h>
int add(int i, int j) {
return i j;
}
PYBIND11_MODULE(example, m) {
m.doc() = "pybind11 example plugin"; // optional module docstring
m.attr("the_answer") = 42;
m.def("add", &add, "A function which adds two numbers");
}
我認為這PYBIND11_MODULE是一個宏,pybind11 應該執行代碼塊中的所有內容來設定 Python 模塊。但是,語法 atm.doc() = ...和m.attr("the_answer") = 42看起來很奇怪。不過代碼確實可以在我的機器上編譯。我的問題是,它們是什么,它們有名字嗎?
uj5u.com熱心網友回復:
它正在回傳對物件的參考。檢查這個例子:
class A {
private:
int var;
public:
int& internal_var() { return var; }
};
...
A a;
a.internal_var() = 1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/389657.html
上一篇:如何在c 中回傳未知值
