Pybind11 is a C++program that processes vector&functions. After passing [] in Python, it appears to be a value pass, and modifications in C++cannot affect this list #5425
Unanswered
wuguinianjing
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
#include <pybind11/pybind11.h>
#include
namespace py = pybind11;
void process_vector(std::vector& vec) {
for (auto& v : vec) {
v *= 2;
}
}
PYBIND11_MODULE(example, m) {
m.def("process_vector", &process_vector, "A function that processes a vector of integers by reference.");
}
/////////////////////////
import example
vec = [1, 2, 3]
print("Before:", vec)
example.process_vector(vec)
print("After:", vec)
//////
OUTPUT:
Before: [1, 2, 3]
After: [1,2,3]
Beta Was this translation helpful? Give feedback.
All reactions