为了延迟起见,我正在尝试生成一些已经执行连接和握手的套接字以节省几毫秒。当我尝试使用“push_back”将新的ssl流放到向量上时,我得到“描述位置资源路径类型” 'boost :: asio :: basic_io_object :: basic_io_object(const boost :: asio :: basic_io_object&)[with IoObjectService = boost :: asio :: deadline_timer_service>]'是专线163,外部位置:/ boost / boost_1_55_0 / boost / asio / basic_io_object.hpp Test3 C / C ++问题“
void QueueSocket() {
using namespace boost::network;
boost::system::error_code ec;
using boost::asio::ip::tcp;
namespace ssl = boost::asio::ssl;
typedef ssl::stream<tcp::socket> ssl_socket;
std::vector<boost::asio::io_service> vecStreams;
vecStreams.emplace_back();
}
答案 0 :(得分:0)
std::vector
拥有其元素,这意味着它会尝试移动或复制新值。 <{1}}不是临时的,因此不会被移动,也无法复制。
在这种情况下,我认为移动它很好 - 无论如何你都不会在push_back之后使用sockconn
。所以:sockconn
。