Skip to content
Related Articles

Related Articles

Improve Article

forward_list assign() function in C++ STL

  • Difficulty Level : Basic
  • Last Updated : 26 May, 2021

The forward_list::assign() is a function in C++ STL which assigns new content to a forward list, replacing its current content and adjusting its size as required.
Syntax: 
 

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)

Parameters: This function accepts different parameters in different version which are discussed below: 
 

  • Iterator: The first version takes two iterators as parameters. New elements are constructed from each element in the range [it1, it2) i.e it includes all elements between it1 and it2 including the element dereferenced by it1 but excluding the element pointed by it2.
  • n and val: In the second version n elements are created and each element is initialized with value val.
  • Initializer_list: In the third version the new contents are created which are initialized with copies of the values passed as initializer list, in the same order.

Return Value This function does not return any value.
The three versions of the function forward_list::assign is illustrated in the following programs:
Program 1: 
 

CPP




// 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);
 
    // Initialize 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 << " ";
}
Output: 
sample1: 3 3 3 3 3 
sample2: 3 3 3 3 3

 

Program 2: 
 

CPP




// 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 << " ";
}
Output: 
sample: 4 5 7 8 9 45

 

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :