c++ - 将 C++ std::vector<std::string> 转换为 std::vector<unsigned char> (反之亦然)

标签 c++ string stl vector binary

有没有简单的方法来转换 std::vector<std::string>std::vector<unsigned char> (然后再次回到 std::vector<std::string> ,而不必手动转换每个字符串并添加分隔符,例如逗号?

最佳答案

简短的回答是:不。

vector 和字符串的实现方式是作为独立的堆分配数组。因此,您可以转换 vector<string>进入char** (char 数组的锯齿状数组)和 vector<unsigned char>进入char* (一个 char 数组)在考虑内部结构时。这会将您的问题变成:有没有什么方法可以连接数组而无需复制它们?

没有。不,没有。

关于c++ - 将 C++ std::vector<std::string> 转换为 std::vector<unsigned char> (反之亦然),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389631/

相关文章:

c++ - 在 C++ 中访问构造函数

java - 我们如何更改标签中的行?

c++ - 为什么我应该使用 Apache C++ 标准库而不是任何其他 STL 实现以及 Boost?

c++ - 如何在成员函数内创建一个优雅的 C++ for_each() ,其中操作函数是同一类中的另一个成员函数?

c++ - 表格的STL容器

c++ - 快速排序不适用于排序数组

c++ - 具有整数参数的模板的部分特化

c++ - C++ 中的单例类

c++ - 模板 : one for string and one for anything else 中的不同构造函数

python - 捕获多行文本中出现的多个字符串