Веб-версияОткрыть в Telegram

ПостПочему reserve() не добавляет элементы в vector?

12 сентября 2026
C
C/C++ Ready | Программирование
Фотография
нажмите — покажем
Почему reserve() не добавляет элементы в vector? reserve() часто используют перед заполнением vector: std::vector<int> nums; nums.reserve(10); После этого у vector действительно появляется место под 10 элементов, но размер остаётся нулевым: std::cout << nums.size() << '\n'; // 0 std::cout << nums.capacity() << '\n'; // 10 Важно не путать size и capacity. Такой код ошибочный: std::vector<int> nums; nums.reserve(10); nums[0] = 42; // undefined behavior Индексатор работает только с уже существующими элементами. reserve() выделяет память, но не создаёт объекты внутри vector. Если нужно добавить значения, используй push_back(): nums.push_back(42); nums.push_back(100); А если нужны именно 10 готовых элементов, нужен resize(): std::vector<int> nums; nums.resize(10); nums[0] = 42; reserve() полезен, когда ты заранее знаешь примерное количество будущих элементов: std::vector<std::string> logs; logs.reserve(1000); for (auto line : input) { logs.push_back(line); } Так vector реже перевыделяет память при росте. 📣 C++ Ready | #совет
14 · 2.8K ·

Рядом в ленте

CC/C++ Ready | ПрограммированиеСобираем простой парсер CLI-аргументов на C++! Нужно разобрать аргументы командной строки. Сделаем маленький парсер для флагов и параметров вида --key=value. В CC/C++ Ready | Программирование👍 The Art of Developing in Modern C++ — практические задания по современному C++! В репозитории собраны решения и упражнения из специализации «Основы разработки
это сообщение
CC/C++ Ready | ПрограммированиеИнтересная статья про constexpr Game of Life на C++! Автор разбирает необычный эксперимент, где логика игры считается ещё на этапе компиляции. Внутри есть constCC/C++ Ready | ПрограммированиеШпаргалка по std::span в C++20! Например, std::span позволяет передать часть vector, array или обычного C-массива без копирования и без владения памятью. На кар
CC/C++ Ready | ПрограммированиеC/C++ Ready | Программирование@cpp_ready · канал · Технологии
15 601подписчиков2 259средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем