我想定期从网站 http 获取一些价值。使用野兽,代码如下:
// Set up an HTTP GET request message
http::request<http::string_body> req{http::verb::get, target, version};
req.set(http::field::host, host);
req.set(http::field::user_agent, BOOST_BEAST_VERSION_STRING);
http::response<http::string_body> res;
while (true) {
// Send the HTTP request to the remote host
http::write(stream, req);
res = {};
// Receive the HTTP response
http::read(stream, buffer, res);
// Write the message to standard out
std::cout << res << std::endl;
}
但在循环中,
res = {}
带来了一个临时对象的创建,一个移动/复制分配和临时对象的销毁。我想知道是否有更好的方法来避免这些不必要的成本。</p>