Почему я не могу написать следующее?
char acBuf[nSize];
Только для того, чтобы стек не зарастал? Или есть возможность сделать что-то подобное, если я могу гарантировать, что всегда занимаю всего несколько сотен килобайт?
Насколько мне известно, std::string
использует память своих членов для хранения назначенных строк, если они не превышают 15 символов. Только если строки длиннее, он использует эту память для хранения адреса некоторой памяти, выделенной в куче, которая затем берет данные.
Похоже, во время компиляции должно быть на 100 % определено, как стек будет выровнен во время выполнения. Это правда? Почему это?