c++ - 在连续内存中存储相同长度的字符串?

标签 c++ c++11

如何在连续内存中存储相同长度的字符串(字符串的数量可能不同,但每个字符串的长度相同)? 可能吗?

最佳答案

最简单的方法可能是,不要使用 std::string , 使用 std::array<char, N>对于字符串(其中 N 是常用长度,如果需要可以将 char 替换为 wchar),然后将它们放入 std::vector 中:

typedef std::array<char, N> string_type;
typedef std::vector<string_type> contiguous_strings;

如果长度N在编译时不知道(或者如果不知道上限)那么你将不得不做一些更复杂的事情。我想您会想要使用 boost 扁平容器。

关于c++ - 在连续内存中存储相同长度的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32493443/

相关文章:

c++ - Visual Studio - Cmake 项目 - 添加 NetCDF

c++ - 无限循环和提前返回语句

c++ - 调用 system() 返回 256

c++ - 如何消除具有相同名称的命名空间和类的歧义

c++ - 我们是否应该从派生类调用基类移动复制/赋值构造函数

c++ - 编译器如何实现C++继承?

c# - 任何现有的 Windows DNS 解析器项目? C++ 或 C# 都可以

c++ - 什么 C++0x 特性会产生最大的影响?

c++ - 如何像 python 语法一样在 C++ 中使用 "cut" vector

c++ - std::function 参数子类