# fill in C++ STL

• Difficulty Level : Basic
• Last Updated : 22 Sep, 2019

The ‘fill’ function assigns the value ‘val’ to all the elements in the range [begin, end), where ‘begin’ is the initial position and ‘end’ is the last position.

NOTE : Notice carefully that ‘begin’ is included in the range but ‘end’ is NOT included. Below is an example to demonstrate ‘fill’ :

 `// C++ program to demonstrate working of fill()``#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``vector<``int``> vect(8);`` ` `    ``// calling fill to initialize values in the``    ``// range to 4``    ``fill(vect.begin() + 2, vect.end() - 1, 4);`` ` `    ``for` `(``int` `i = 0; i < vect.size(); i++)``        ``cout << vect[i] << ``" "``;`` ` `    ``return` `0;``}`
Output:
```0 0 4 4 4 4 4 0
```

We can also use fill to fill values in an array.

 `// C++ program to demonstrate working of fill()``#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``int` `arr;`` ` `    ``// calling fill to initialize values in the``    ``// range to 4``    ``fill(arr, arr + 10, 4);`` ` `    ``for` `(``int` `i = 0; i < 10; i++)``        ``cout << arr[i] << ``" "``;`` ` `    ``return` `0;``}`
Output:
```4 4 4 4 4 4 4 4 4 4
```

Filling list in C++.

 `// C++ program to demonstrate working of fill()``#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``list<``int``> ml = { 10, 20, 30 };`` ` `    ``fill(ml.begin(), ml.end(), 4);`` ` `    ``for` `(``int` `x : ml)``        ``cout << x << ``" "``;`` ` `    ``return` `0;``}`
Output:
```4 4 4
```

My Personal Notes arrow_drop_up