二进制数据的 C++ STL 字符串等效项

2022-01-09 00:00:00 string binary c++ stl

我正在编写一个 C++ 应用程序,我想知道 C++ 在内存中存储字节数组的传统方式是什么.

I am writing a C++ application and I was wondering what the C++ conventional way of storing a byte array in memory.

是否有类似字符串的东西,除了专门为二进制数据制作的.

Is there something like a string, except specifically made for binary data.

现在我使用 *unsigned char** 数组来存储数据,但更像 STL/C++ 的东西会更好.

Right now I am using a *unsigned char** array to store the data, but something more STL/C++ like would be better.

推荐答案

我会使用 std::vector.您需要的大多数操作都可以使用带有迭代器范围的 STL 来完成.另外,请记住,如果您确实需要原始数据,&v[0] 保证会提供指向底层数组的指针.

I'd use std::vector<unsigned char>. Most operations you need can be done using the STL with iterator ranges. Also, remember that if you really need the raw data &v[0] is guaranteed to give a pointer to the underlying array.

相关文章