forward_list emplace_after () и emplace_front () в C ++ STL

Опубликовано: 30 Декабря, 2021
  1. Forward_list :: emplace_after () - это встроенная функция в C ++ STL, которая используется для вставки нового элемента после элемента в позиции, указанной в аргументе. Эта вставка нового элемента увеличивает размер контейнера на единицу.

    Синтаксис:

     forward_list_name.emplace_after (позиция итератора, элементы)

    Параметры: функция принимает два обязательных параметра, которые описаны ниже:

    • позиция: он указывает итератор, который указывает на позицию в контейнере, после которой должен быть вставлен новый элемент.
    • element: указывает новый элемент, который будет вставлен после позиции.

    Возвращаемое значение: эта функция возвращает итератор, указывающий на вновь вставленный элемент.

    Программа ниже иллюстрирует вышеупомянутую функцию:

    // C++ program to illustrate the
    // forward_list::emplace_after() function
    #include <forward_list>
    #include <iostream>
    using namespace std;
    int main()
    {
    forward_list< int > fwlist = { 1, 2, 3, 4, 5 };
    auto it_new = fwlist.before_begin();
    // use of emplace_after function
    // inserts elements at positions
    it_new = fwlist.emplace_after(it_new, 8);
    it_new = fwlist.emplace_after(it_new, 10);
    // cout << "The elements are: "
    for ( auto it = fwlist.cbegin(); it != fwlist.cend(); it++) {
    cout << *it << " " ;
    }
    return 0;
    }

    Выход:

     Элементы: 8 10 1 2 3 4 5
  2. Forward_list :: emplace_front () - это встроенная функция в C ++, которая используется для вставки нового элемента в начало forward_list непосредственно перед первым элементом. Это увеличивает размер контейнера на единицу.

    Синтаксис:

     forward_list_name.emplace_front (элементы)

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

    Возвращаемое значение: ничего не возвращает.

    Программа ниже иллюстрирует вышеуказанную функцию.

    // C++ program to illustrate the
    // forward_list::emplace_front() function
    #include <forward_list>
    #include <iostream>
    using namespace std;
    int main()
    {
    forward_list< int > fwlist = { 1, 2, 3, 4, 5 };
    // use of emplace_front function
    // inserts elements at front
    fwlist.emplace_front(8);
    fwlist.emplace_front(10);
    cout << "Elements are: " ;
    // Auto iterator
    for ( auto it = fwlist.cbegin(); it != fwlist.cend(); it++) {
    cout << *it << " " ;
    }
    return 0;
    }

    Выход:

     Элементы: 10 8 1 2 3 4 5
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++