Загрузка...

Vectors in C++

Thread in C/C++ created by Misanthropy_inactive3617457 Apr 10, 2021. (bumped Apr 10, 2021) 284 views

  1. Misanthropy_inactive3617457
    Misanthropy_inactive3617457 Topic starter Apr 10, 2021 Banned 50 Oct 24, 2020
    Вектор в C++ — это замена стандартному динамическому массиву, память для которого выделяется вручную, с помощью оператора new.

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

    Пример создания вектора -
    Code
    #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;
    }
    Управление элементами вектора
    Создадим вектор, в котором будет содержаться произвольное количество фамилий студентов.

    Code
    #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;
    }

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

    [IMG]

    Методы класса vector -
    Для добавления нового элемента в конец вектора используется метод push_back(). Количество элементов определяется методом size(). Для доступа к элементам вектора можно использовать квадратные скобки [].
    • pop_back() — удалить последний элемент
    • clear() — удалить все элементы вектора
    • empty() — проверить вектор на пустоту
     
  2. Revy
    Revy Apr 10, 2021 Тут никогда не будет твоей рекламы! 1041 Apr 21, 2020
  3. Divergent169
    Divergent169 Apr 10, 2021 Духовный профиль 2 May 18, 2018
  4. Agathe
    Agathe Apr 10, 2021 nometa 397 Feb 6, 2021
    copypast:claps:
     
  5. RoflanRoflan
    Мало того что копипаст, так ещё и полтора метода :finger_up:
     
  6. undrcrxwn
    undrcrxwn Apr 10, 2021 Banned 102 Apr 5, 2021
    shitpost status хоть бы особенности показал, плюсы/минусы, устройство, а так нахуя ваще тему создавать было :BrainCosmic:
     
Top
Loading...