Лучший способ представить необработанные байты в std :: vector?

Я работаю с библиотекой ZeroMQ, которая использует void * представлять блоки произвольных двоичных данных. Однако я хотел бы использовать std::vector скопировать и переместить эти блоки вокруг. Какой предпочтительный, идиоматический способ сделать std::vector представляющий необработанные байты? Я в настоящее время использую std::vector<unsigned char> но я хочу убедиться, что мой код имеет смысл для других людей.

2

Решение

Или

std::vector<unsigned char>

или же

#include <cstdint>

std::vector<std::uint8_t>

оба кажутся мне в порядке.

8

Другие решения

Если вы не знаете природу ваших данных, unsigned char это наименьший кусок бит, который вы можете представить, не запутавшись. Поэтому это общий тип для любого вида произвольного блока памяти.

Таким образом, ваш вектор выглядит отлично так, как он есть.

0

По вопросам рекламы [email protected]