Tôi đã nhúng python vào C++ và tôi muốn biết nếu có cách tìm loại của đối tượng tăng :: python :: là kết quả sau khi thực hiện một hàm của một mô-đun python. Tôi có mã của tôi như thế này:Tìm loại đối tượng python tăng
boost::python::object module_ = boost::python::import("..libName");
boost::python::object result_ = module_.attr("..functionName")(arg1, arg2,...);
//suppose if the result is int,
int a_ = boost::python::extract<int>(result_);
Từ đoạn mã trên, những gì tôi muốn biết là nếu có cách để tìm ra loại của kết quả trước khi giải nén nó. Trong mã trên, kết quả_ có thể là bất kỳ loại nào như danh sách, bộ lọc ...
Như bạn đã đề xuất nó không đáng tin cậy. trích xuất sẽ vui vẻ chấp nhận số nguyên –
Sergei
Có. Kể từ bài đăng này, tôi đã nhận ra rằng 'trích xuất' sẽ cố gắng tự động chuyển đổi giữa các loại tương thích. Cách để chắc chắn nó chính xác là một số nguyên là sử dụng 'PyInt_Check'. – csl