Tôi cố gắng để dịch đoạn mã sauKhông trong Boost.Python
d = {}
d[0] = None
vào C++ với Boost.Python
boost::python::dict d;
d[0] = ?None
Làm thế nào tôi có thể nhận được một đối tượng trong Không Boost.Python?
Tôi cố gắng để dịch đoạn mã sauKhông trong Boost.Python
d = {}
d[0] = None
vào C++ với Boost.Python
boost::python::dict d;
d[0] = ?None
Làm thế nào tôi có thể nhận được một đối tượng trong Không Boost.Python?
Không có hàm tạo nào là boost::python::object
mà cần một PyObject*
(từ sự hiểu biết của tôi, một ctor như vậy sẽ làm mất hiệu lực toàn bộ ý tưởng nếu ánh xạ các kiểu Python thành kiểu C++, vì PyObject * có thể là bất kỳ thứ gì). Theo documentation:
object();
Effects: Tạo thời đối tượng quản lý một tham chiếu đến đối tượng Python
None
.
Bạn có thể sử dụng:
d[0] = d.get(0)
d.get
mặc định là None
nếu bạn không chỉ định một giá trị mặc định.