std::string или std::vector для хранения необработанных данных

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

Спасибо за любой совет!

6
задан 01100110 9 March 2012 в 00:59
поделиться