О Vector в C++
В стандартной библиотеке C++ существует множество контейнеров, предоставляющих различные структуры данных для эффективного хранения и управления данными. Один из наиболее популярных и полезных контейнеров - это std::vector
.
Введение в Vector
std::vector
представляет собой динамический массив, который автоматически расширяется при добавлении новых элементов. Это обеспечивает гибкость использования и эффективность в управлении памятью. Вот простой пример его использования:
#include <vector>
#include <iostream>
int main() {
std::vector<int> numbers;
// Добавление элементов
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
// Обход элементов
for (const auto& num : numbers) {
std::cout << num << " ";
}
return 0;
}
Основные операции с Vector
- Добавление элементов:
push_back()
используется для добавления элемента в конец вектора. - Доступ к элементам:
at()
,[]
илиfront()
/back()
позволяют получить доступ к элементам вектора. - Изменение размера:
resize()
позволяет изменять размер вектора.
Преимущества использования std::vector
включают автоматическое управление памятью, константное время доступа к элементам по индексу и простоту использования.
Пример использования Vector в реальном коде
Давайте рассмотрим пример использования std::vector
для хранения пользовательских объектов:
#include <vector>
#include <iostream>
class Person {
public:
std::string name;
int age;
Person(const std::string& n, int a) : name(n), age(a) {}
};
int main() {
std::vector<Person> people;
people.push_back(Person("Alice", 25));
people.push_back(Person("Bob", 30));
for (const auto& person : people) {
std::cout << "Name: " << person.name << ", Age: " << person.age << std::endl;
}
return 0;
}
Заключение
std::vector
в С++ - это мощный и удобный контейнер, предоставляющий динамический массив с широкими возможностями. Это незаменимый инструмент при работе с коллекциями данных в различных задачах программирования.