मैं यहाँ इस लाइन बनाने के लिए मुसीबत हो रहा है सही:बूस्ट async_write को boost const_buffers के वेक्टर के साथ सही तरीके से कैसे उपयोग करें?
boost::asio::async_write(serialPort,
boost::asio::buffer(
boost::asio::buffer_cast<const void*>(vector_.front()),
boost::asio::buffer_size(vector_.front())))
vector_
boost::asio::const_buffers
std::vector<boost::asio::const_buffer> vector_;
यह सामान काम करता है की एक संख्या रखती है, लेकिन मैं काफी यकीन है कि वहाँ एक रास्ता और अधिक सुरुचिपूर्ण तरीका है कि कर रहा हूँ ऐसा करने के लिए, और यदि नहीं, तो मैं यहां कुछ और अनुभव के साथ किसी से भी देखना चाहता हूं।
तो, क्या इस समाधान में सुधार किया जा सकता है? यदि हां, तो कैसे?
ठीक है, यह वास्तव में क्लीनर है, धन्यवाद। लेकिन मूल रूप से आप एक ही काम कर रहे हैं - है ना? मैं सोच रहा था कि 'boost :: asio :: const_buffer' को' boost :: asio :: buffer' में सीधे डालने का कोई तरीका है - कुछ हद तक: 'boost :: asio :: buffer_cast (vector_.front()) '- क्या आप जानते हैं कि यह संभव/असंभव है? –
Jook
@Jook: यदि आपको यह पसंद नहीं है, तो आप किसी भी समय 'make_buffer' से' buffer_cast' (अपने नामस्थान में) नाम बदल सकते हैं और इसे कॉल कर सकते हैं। – Nawaz
हे, नाम ठीक है;) मैं बस सोच रहा हूं, अगर यह फ़ंक्शन का उपयोग करने से प्रत्यक्ष प्रकार-रूपांतरण राहटर के माध्यम से हासिल किया जा सकता है। – Jook