Блин, злой. Почему-то все время считал, (кажется, вычитав в одной книге!)
что:
std::vector<char> vec(1024);
Сделает только RESERVE памяти вектора. Т.е. всего лишь задаст его capacity.
Всегда после этого зазря звал еще и resize(xyz).
Сегодня взял после этого конструктора .size() и... узнал, что такая форма конструктора реально аллоцирует (выделяет)
элементы вектора. Более того, вектор _всегда_ принудительно обнуляется, о чем я тоже не знал. Его обнуление, AFAIK нигде не прописано.
Ткните носом, где я и что не дочитал.