Я надеюсь, что этот вопрос подходит для stackoverflow... В чем разница между сохранением необработанных байтов данных (8 бит) в std::string
вместо их хранения в std::vector
. Я читаю двоичные данные из файла и сохраняю эти необработанные байты в std::string
. Это работает хорошо, нет никаких проблем или проблем с этим. Моя программа работает так, как ожидалось. Однако другие программисты предпочитают подход std::vector
и предлагают мне отказаться от использования std::string
, так как это небезопасно для необработанных байтов. Поэтому мне интересно, почему может быть небезопасно использовать std::string
для хранения необработанных байтов данных? Я знаю, что std::string
чаще всего используется для хранения текста ASCII, но байт есть байт, поэтому я не понимаю предпочтения std::vector
.
Спасибо за любой совет!