Нужно в string всегда хранить 300 символов.
Как я понимаю память выделяется динамически при присвоении к примеру:
string ex = "Example";
Мне нужно явно присваивать каждому символу значение,
ex.at(100) = '2';
но при выполнении кода будет ошибка, т.к. не была выделена память, возможно ли указать размер строки явно, как в массиве символов ?
Такой вариант не очень
for(int i=0;i<300;i++)
ex += " ";
std::string в этом отношении имеет почти ту же внешнюю интерфейсную спецификацию, что и std::vector.
Скажите ей
ex.resize(300);
и будет вам строка размера 300. Эта версия дополняет строку (если необходимо) до размера 300 нулевыми символами. А вариант
ex.resize(300, 'a');
соответственно, дополнит символами 'a'.
Вот чего нет, так это конструктора, соответствующего первой версии resize, т.е. при конструкции символ-заполнитель придется всегда указывать явно
std::string ex(300, 'a');
Попробуйте так:
string s(300, ' ');
Проверка: http://ideone.com/8Hqa7f
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники