В C++ существует несколько методов изменения размера вектора, который представляет собой динамический массив, предоставляемый стандартной библиотекой шаблонов (STL). Вот некоторые распространенные подходы:
- Использование функции resize(): Функцияresize()позволяет изменять размер вектора. Вы можете указать новый размер и, при необходимости, указать значение по умолчанию для вновь добавляемых элементов.
std::vector<int> myVector;
myVector.resize(10); // Resizes the vector to have 10 elements- Использование оператора присваивания: вы можете назначить новый вектор другого размера существующему вектору, эффективно изменяя его размер.
std::vector<int> myVector;
myVector = std::vector<int>(5); // Resizes the vector to have 5 elements- Использование функции reserve(): функцияreserve()предварительно выделяет память для указанного количества элементов, но не меняет размер вектора. Однако это может повысить производительность при дальнейшем добавлении элементов.
std::vector<int> myVector;
myVector.reserve(20); // Reserves memory for 20 elements- Использование функции insert(). Вы можете использовать функциюinsert()для вставки элементов в определенную позицию, эффективно увеличивая размер вектора.
std::vector<int> myVector;
myVector.insert(myVector.begin() + 3, 5, 0); // Inserts 5 elements with value 0 at index 3- Использование функции push_back(): функцияpush_back()добавляет элементы в конец вектора, автоматически увеличивая его размер.
std::vector<int> myVector;
myVector.push_back(42); // Adds an element with value 42 to the end of the vector- Использование функции emplace_back(): функцияemplace_back()создает элементы на месте в конце вектора, избегая ненужных копий или перемещений.
Использование функции emplace_back().
>
std::vector<std::string> myVector;
myVector.emplace_back("Hello"); // Constructs a string element at the end of the vector