当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。