我尝试从asio套接字读取到std :: string而不进行复制。 这种实现似乎有效,但我不确定它是否可靠。
string read(int bytes)
{
string str;
str.resize(bytes);
char* buffer = (char*) str.data();
//socket is declared as class member
asio::read(socket,asio::buffer(buffer,bytes));
return str;
}
答案 0 :(得分:2)
是的,有效。但直接使用它会更加迅速:
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
<input class='date-picker' />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Save</button>
</div>
</div>
</div>
这样你就可以避免C风格重新诠释的所有令人讨厌的问题。 (顺便说一句,也抛弃了const)