这双向迭代器从char*缓冲区提取,能否改写为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计408个文字,预计阅读时间需要2分钟。
我似乎找不到一个简单的解决方案,即如何从`char* buffer`和`int bufferSize`获取双向迭代器。我想要避免使用缓冲区+,但我似乎找不到一个简单的解决方案。
我似乎无法找到一个简单的解决方案,即如何从char*bufferwithdefined获取双向迭代器bufferSize。我不想将缓我似乎无法找到一个简单的解决方案,即如何从char *bufferwith defined获取双向迭代器bufferSize。我不想将缓冲区复制到std::string(太昂贵),我只想像std_whatever::buffer_wrapper myWrappedBuffer(myBuffer, mySize);然后在函数中使用myWrappedBuffer.begin()和。最简单的方法是什么?我真的不想自己实现迭代器。我知道有,也许有,但我不想为此使用 boost,也不能使用 c++17。myWrappedBuffer.end()boost::string_refstd::string_view
回答char *b=buffer;
这是您的起始迭代器。
char *e=buffer+buffersize;
这是你的结束迭代器。
简单的花园多样性指针不仅满足双向迭代器的所有要求,而且满足随机访问迭代器的所有要求,并且通常可以在需要任何类型迭代器的任何地方使用,并且它们将像一个迭代器一样工作。所有(写得很好的)基于迭代器的模板都可以很好地使用指针。
本文共计408个文字,预计阅读时间需要2分钟。
我似乎找不到一个简单的解决方案,即如何从`char* buffer`和`int bufferSize`获取双向迭代器。我想要避免使用缓冲区+,但我似乎找不到一个简单的解决方案。
我似乎无法找到一个简单的解决方案,即如何从char*bufferwithdefined获取双向迭代器bufferSize。我不想将缓我似乎无法找到一个简单的解决方案,即如何从char *bufferwith defined获取双向迭代器bufferSize。我不想将缓冲区复制到std::string(太昂贵),我只想像std_whatever::buffer_wrapper myWrappedBuffer(myBuffer, mySize);然后在函数中使用myWrappedBuffer.begin()和。最简单的方法是什么?我真的不想自己实现迭代器。我知道有,也许有,但我不想为此使用 boost,也不能使用 c++17。myWrappedBuffer.end()boost::string_refstd::string_view
回答char *b=buffer;
这是您的起始迭代器。
char *e=buffer+buffersize;
这是你的结束迭代器。
简单的花园多样性指针不仅满足双向迭代器的所有要求,而且满足随机访问迭代器的所有要求,并且通常可以在需要任何类型迭代器的任何地方使用,并且它们将像一个迭代器一样工作。所有(写得很好的)基于迭代器的模板都可以很好地使用指针。

