buffered_stream::buffered_stream 构造函数中的 Arg & a 是什么?

What is the Arg & a in the buffered_stream::buffered_stream constructor?

http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio/reference/buffered_stream/buffered_stream.html

我正在考虑将它用作 tcp 流和 can 总线之间的中间缓冲区。我将缓冲区传递给与写入 can 总线有关的 API,后者使用 async_reads 获取数据。 tcp 端使用 async_writes.

写入缓冲区

当然可以。

boost::asio::streambuf sb;

// now write:
{
    std::ostream os(&sb);
    os << "Hello 1 2 3" << std::flush;
}

// or read:
{   std::istream is(&sb);
    std::string s;
    int a, b, c;
    is >> s >> a >> b >> c;
}

请注意,您还可以使用连接到套接字的预配置流:

#include <boost/asio.hpp>
#include <iostream>

using boost::asio::ip::tcp;

int main() {
    tcp::iostream s("localhost", "http");

    s << "GET / HTTP/1.0\r\n\r\n" << std::flush;
    std::cout << s.rdbuf(); // print response
}