История изменений
Исправление Begemoth, (текущая версия) :
Не возникает таких вопросов, если посмотреть на современные реализации std::string с их small string optimisation (которая для маленьких строк вообще не выделяет память на куче) и с_str (ну да, строки с нулями в середине несовместимы с системными API, это надо учитывать).
Ну да std::string сейчас - это 24 байта минимум (по 8 байт на указатель, текущую длину и фактический размер буфера).
Исходная версия Begemoth, :
Не возникает таких вопросов, если посмотреть на современные реализации std::string с их small string optimisation (которая для маленьких строк вообще не выделяет память на куче) и с_str (ну да, строки с нулями в середине несовместимы с системными API, это надо учитывать).