📜  C++ STL中的forward_list emplace_after()和emplace_front()

📅  最后修改于: 2021-05-30 04:08:43             🧑  作者: Mango

  1. forward_list :: emplace_after()是C++ STL中的内置函数,用于在参数中指定位置的元素之后插入新元素。新元件的这种插入使容器的尺寸增加了一个。

    句法:

    forward_list_name.emplace_after(iterator position, elements)

    参数:该函数接受两个强制性参数,如下所述:

    • position:指定迭代器,该迭代器指向容器中要在其后插入新元素的位置。
    • element:指定要在位置之后插入的新元素。

    返回值:该函数返回一个迭代器,该迭代器指向新插入的元素。

    下面的程序说明了上述函数:

    // C++ program to illustrate the
    // forward_list::emplace_after() function
    #include 
    #include 
      
    using namespace std;
      
    int main()
    {
      
        forward_list 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;
    }
    

    输出:

    The elements are: 8 10 1 2 3 4 5 
  2. forward_list :: emplace_front()是C++中的内置函数,用于在forward_list的开头,第一个元素之前插入一个新元素。这使容器的尺寸增加了一个。

    句法:

    forward_list_name.emplace_front(elements)

    参数:该函数接受一个强制性参数元素,该元素将在容器的开头插入。

    返回值:不返回任何内容。

    下面的程序说明了上述函数。

    // C++ program to illustrate the
    // forward_list::emplace_front() function
    #include 
    #include 
      
    using namespace std;
      
    int main()
    {
      
        forward_list 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;
    }
    

    输出:

    Elements are: 10 8 1 2 3 4 5 
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”