例如:
namespace py = pybind11;
int main()
{
py::scoped_interpreter guard{}; // start the interpreter and keep it alive
py::object main = py::module::import("__main__");
py::object globals = main.attr("__dict__");
double* myVect = new double[100];
memset(myVect, 0, sizeof(double) * 100);
myVect[0] = 1.0;
myVect[99] = 2.0;
size_t size = 100;
py::array pyVect((size_t)100, myVect);
globals["myArray"] = pyVect;
std::cout << myVect[0] << " --- " << myVect[99] << std::endl;
py::exec("print(myArray)");
py::exec("myArray = myArray[::-1]");
py::exec("print(myArray)");
std::cout << myVect[0] << " --- " << myVect[99] << std::endl;
delete[] myVect;
}
< Python中的数组是反向的,而不是C++向量。这是因为对python的赋值生成了向量的副本。
是否可以直接传递指针,以便直接从Python修改C++向量?
目前没有回答
相关问题 更多 >
编程相关推荐