Гайд [Блог Программиста]: Векторы в C++ — урок 12

Статус
В этой теме нельзя размещать новые ответы.
  • 77
  • 18
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
[brokencore.club]_вступление.jpg


Вектор в C++ — это замена стандартному динамическому массиву, память для которого выделяется вручную, с помощью оператора new.

Разработчики языка рекомендуют в использовать именно vector вместо ручного выделения памяти для массива. Это позволяет избежать утечек памяти и облегчает работу программисту.

  • Пример создания вектора
  • Управление элементами вектора
  • Методы класса vector

[brokencore.club]_Основная часть.jpg


Пример создания вектора

C++:
#include <iostream>
#include <vector>

int main()
{
    // Вектор из 10 элементов типа int
    std::vector<int> v1(10);

    // Вектор из элементов типа float
    // С неопределенным размером
    std::vector<float> v2;

    // Вектор, состоящий из 10 элементов типа int
    // По умолчанию все элементы заполняются нулями
    std::vector<int> v3(10, 0);

    return 0;
}

Управление элементами вектора
Создадим вектор, в котором будет содержаться произвольное количество фамилий студентов.

C++:
#include <iostream>
#include <vector>
#include <string>

int main()
{
    // Поддержка кириллицы в консоли Windows
    setlocale(LC_ALL, "");

    // Создание вектора из строк
    std::vector<std::string> students;

    // Буфер для ввода фамилии студента
    std::string buffer = "";

    std::cout << "Вводите фамилии студентов. "
              << "По окончание ввода введите пустую строку" << std::endl;

    do {
        std::getline(std::cin, buffer);
        if (buffer.size() > 0) {
            // Добавление элемента в конец вектора
            students.push_back(buffer);
        }
    } while (buffer != "");


    // Сохраняем количество элементов вектора
    unsigned int vector_size = students.size();

    // Вывод заполненного вектора на экран
    std::cout << "Ваш вектор." << std::endl;
    for (int i = 0; i < vector_size; i++) {
        std::cout << students[i] << std::endl;
    }

    return 0;
}

Результат работы программы:

2013-07-27-121131_796x868_scrot.png


Методы класса vector

Для добавления нового элемента в конец вектора используется метод push_back(). Количество элементов определяется методом size(). Для доступа к элементам вектора можно использовать квадратные скобки [], также, как и для обычных массивов.

  • pop_back() — удалить последний элемент
  • clear() — удалить все элементы вектора
  • empty() — проверить вектор на пустоту
Подробное описание всех методов std::vector (на английском) есть на C++ Reference.

Следующий урок: Наследование классов C++ →.

Уважаемые читатели моих уроков, если у вас остались вопросы по поводу моих уроков и т.п, напишите мне в ЛС и я вам помогу и объясню.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу