cuốn sách gpt4 ai đã làm

Khả năng tương thích $stdin với std::istream bằng swig, C++ và Ruby

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 12:28:05 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi có một hàm trong C++ chấp nhận std::istream làm đầu vào:

lớp Foo {
Foo(std::istream &);
}

Sử dụng SWIG, tôi đã liên kết nó với Ruby, nhưng biến $stdin của Ruby về cơ bản khác với bất kỳ thứ gì giống như lớp luồng trong C++, vì vậy tôi không chắc chắn cách 1) hiển thị lớp C++ cho Ruby. Tôi có thể sử dụng $ stdin, hoặc 2) chuyển đổi $stdin thành thứ mà lớp C++ có thể hiểu được.

Có ai có kinh nghiệm liên kết iostream trong C++ với Ruby không?

Cảm ơn.

câu trả lời hay nhất

Bạn có thể sử dụng một phiên bản của std::istream để triển khai hoạt động của nó thông qua phương thức Ruby trên $stdin được gọi bởi giao diện C (ví dụ: sử dụng rb_funcall). Bạn không thể thực hiện việc này bằng cách lấy một lớp từ chính std::istream, vì các phương thức của nó không phải là ảo; thay vào đó, bạn cần phải lấy từ std::stream_buf và khởi tạo một istream sử dụng bộ đệm luồng của bạn.

Về khả năng tương thích c++ - $stdin với std::istream, sử dụng swig, C++ và Ruby, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/935290/

hai mươi bốn 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress