Last Updated : 23 Jul, 2025
A vector, once declared, has all its values initialized to zero. Following is an example code to demonstrate the same.
CPP
// C++ program for displaying the default initialization
// of the vector vect[]
#include<bits/stdc++.h>
using namespace std;
int main()
{
// Creating a vector of size 8
vector<int> vect(8);
// Printing default values
for (int i=0; i<vect.size(); i++)
cout << ' ' << vect[i];
}
Output :
0 0 0 0 0 0 0 0
What if we wish to initialize the vector to a specific value, say 1 ? For this, we can pass the value along with the size of the vector.
CPP
// C++ program for displaying specified initialization
// of the vector vect[]
#include<bits/stdc++.h>
using namespace std;
int main ()
{
// Creates a vector of size 8 with all initial
// values as 1.
vector<int> vect(8, 1);
for (int i=0; i<vect.size(); i++)
cout << ' ' << vect[i];
}
Output :
1 1 1 1 1 1 1 1
What if we wish to initialize the first 4 values to say 100 and rest 6 values as 200 ? One way to do this is to manually provide a value to each position in the vector. The other methods as provided in STL, the Standard Template Library, are fill and fill_n.
// C++ program to demonstrate working of fill()
#include <bits/stdc++.h>
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;
}
0 0 4 4 4 4 4 0
// C++ program to demonstrate working of fil_n()
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<int> vect(8);
// calling fill to initialize first four values
// to 7
fill_n(vect.begin(), 4, 7);
for (int i=0; i<vect.size(); i++)
cout << ' ' << vect[i];
cout << '\n';
// calling fill to initialize 3 elements from
// "begin()+3" with value 4
fill_n(vect.begin() + 3, 3, 4);
for (int i=0; i<vect.size(); i++)
cout << ' ' << vect[i];
cout << '\n';
return 0;
}
7 7 7 7 0 0 0 0 7 7 7 4 4 4 0 0
Let us see the difference table in a tabular form -:
fill() fill_n() 1. It sets given value to all elements of array. It is used to assign a new value to a specified number of elements in a range beginning with a particular element. 2.Its syntax is -:
void fill(ForwardIterator first, ForwardIterator last, const value_type &val);
Its syntax is -:
In C++ 98:
void fill_n (OutputIterator first, Size n, const T& val);
From C++11 onwards:
OutputIterator fill_n (OutputIterator first, Size n, const T& val);
3. It has no return value.(In C++ 11)It returns an iterator pointing to the element that follows the last element to be filled.
(In C++ 98) returns none.
4. Its time complexity is O(N) Its time complexity is O(N)RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4