【发布时间】:2020-12-09 05:57:06
【问题描述】:
我有一些std::vector<uint8_t> 类型的数据。我想将它解释为一个字符串并对其进行一些子字符串检查。
可以通过将其转换为std::string 来完成,这将导致复制数据。是否可以以某种方式将其转换为std::string_view 并对其进行搜索以避免复制它。
【问题讨论】:
-
我们是否可以假设您不能首先使用
std::string而不是std::vector? -
我没有写一个明确的答案,因为我从来没有使用过
string_view,但是因为你可以从vector获得底层指针,你可能只有string_view view((const char*)v.data());但喜欢...我不知道这是否正确。一些专家可能会对此提出一些错误 -
我可以。我已经改变了它并且它有效。我可以删除问题。如果我们不能将原始
std::vector<uint8_t>更改为 std::string -
您要查看
uint8_t还是实际查看char? -
字符视图。数据实际上是字符串
标签: c++ type-conversion c++17 stdvector string-view