📜  列出C++ STL中的assign()函数

📅  最后修改于: 2021-05-30 05:35:22             🧑  作者: Mango

list :: assign()是C++ STL中的内置函数,用于将值分配给列表。它也可以用于将元素从一个列表复制到另一个列表。

  1. 将元素分配给列表。
    句法:
    list_name.assign(count, value) 
    

    参数:此函数接受两个强制性参数,如上面的语法所示,如下所述:

    • count :需要分配给名称为list_name的列表的值的数量。
    • value :这是将从第一个元素开始计数的次数。如果列表中已经包含一些元素,则这些元素将被参数value中指定的元素替换。此参数的数据类型必须与list_name的数据类型相同。

    返回值:该函数分配从列表list_name中的第一个元素开始,在value参数count中指定的元素次数。该函数的返回类型为void,并且不返回任何值。

    下面的程序说明了list :: assign()函数。

    // CPP program to illustrate the
    // list::assign() function
    #include 
    using namespace std;
      
    int main()
    {
        // Initialization of list
        list demo_list;
      
        // Assigning the value 100, 5 times
        // to the list, list_demo.
        demo_list.assign(5, 100);
      
        // Displaying the list
        for (int itr : demo_list) {
            cout << itr << " ";
        }
      
        return 0;
    }
    
    输出:
    100 100 100 100 100
    
  2. 将元素从现有列表复制到新列表。
    语法
    first_list.assign(second_list.begin(), second_list.end());
    

    参数:该函数接受两个参数,如上面的语法所示。第一个参数是第二个列表的开始迭代器,第二个参数是第二个列表的结束迭代器。

    返回值:该函数将second_list复制到first_list 。此函数不返回任何值。

    下面的程序说明了list :: assign()函数:

    // CPP program to illustrate the
    // list::assign() function
    #include 
    using namespace std;
      
    int main()
    {
        // Initialization of list
        list first_list;
      
        // Initializing second list
        list second_list;
      
        // Assigning the value 100, 5 times
        // to the second_list.
        second_list.assign(5, 100);
      
        // Copying second_list to first_list
        first_list.assign(second_list.begin(),
                          second_list.end());
      
        for (int itr : first_list) {
            cout << itr << " ";
        }
      
        return 0;
    }
    
    输出:
    100 100 100 100 100