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


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


forward_list::assign()是C++ STL中的一個函數,它將新內容分配給轉發列表,替換其當前內容並根據需要調整其大小。

用法:

Version 1:forward_list_name.assign(iterator it1, iterator it2)
Version 2:forward_list_name.assign(int n, val)
Version 3:forward_list_name.assign(initializer_list li)

參數:此函數接受不同版本中的不同參數,下麵將進行討論:


  • Iterator:第一個版本采用兩個迭代器作為參數。從[it1,it2]範圍內的每個元素構造新元素,即它包括it1和it2之間的所有元素,包括由it1取消引用的元素,但不包括由it2指向的元素。
  • n和val:在第二個版本中,創建了n個元素,並使用值val初始化了每個元素。
  • Ininitializer_list:在第三個版本中,將創建新內容,並以相同的順序使用作為初始化程序列表傳遞的值的副本進行初始化。

返回值該函數不返回任何值。

以下程序說明了函數forward_list::assign的三個版本:

示例1:

// CPP code to illustrate the 
// forward_list::assign() function 
  
#include <forward_list> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    forward_list<int> sample1; 
    forward_list<int> sample2; 
  
    // Create n elements in 
    // sample1 and initialize all 
    // Of them with 3 
    sample1.assign(5, 3); 
  
    // Initilize sample2 with elements in 
    // the range [sample1.begin(), sample1.end) 
    sample2.assign(sample1.begin(), sample1.end()); 
  
    // Display sample1 
    cout << "sample1: "; 
    for (int& x : sample1) 
        cout << x << " "; 
  
    cout << endl; 
  
    // Display sample2 
    cout << "sample2: "; 
    for (int& x : sample2) 
        cout << x << " "; 
}
輸出:
sample1: 3 3 3 3 3 
sample2: 3 3 3 3 3

示例2:

// CPP code to illustrate the 
// forward_list::assign() function 
  
#include <forward_list> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    forward_list<int> sample; 
  
    // Initialize sample with an 
    // Initialization list 
    sample.assign({ 4, 5, 7, 8, 9, 45 }); 
  
    // Display sample 
    cout << "sample: "; 
    for (int& x : sample) 
        cout << x << " "; 
}
輸出:
sample: 4 5 7 8 9 45


相關用法


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