當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ list assign()用法及代碼示例


list::assign()是C++ STL中的內置函數,用於將值分配給列表。它也可以用於將元素從一個列表複製到另一個列表。

  1. 將元素分配給列表。
    用法:
    list_name.assign(count, value) 
    

    參數:此函數接受兩個強製參數,如上麵的語法所示,如下所述:


    • count:需要分配給名稱為list_name的列表的值的數量。
    • value:從第一個元素開始,將為該值分配計數的次數。如果列表中已經包含一些元素,則這些元素將被參數值中指定的元素替換。此參數的數據類型必須與list_name的數據類型相同。

    返回值:此函數從列表list_name中的第一個元素開始分配在值參數計數中指定的元素次數。該函數的返回類型為void,並且不返回任何值。

    以下示例程序旨在說明list::assign()函數。

    // CPP program to illustrate the 
    // list::assign() function 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
        // Initialization of list 
        list<int> 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 <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
        // Initialization of list 
        list<int> first_list; 
      
        // Initializing second list 
        list<int> 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
    

注:本文由純淨天空篩選整理自 list assign() function in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。