What are the alternatives for Variable-Length Array in C++?
In C++ STL library, we have Vectors which works as a dynamic array which can be used in the place of Variable-Length Array, in which we can define the length of the vector on the runtime itself .
Below is the code for vectors in C++ :
C++
#include <iostream> #include <vector> using namespace std; int main() { int n = 5; // Initialize the vector with variable size n vector< int > v(n); for ( int i = 0; i < n; i++) { v[i] = i; } // printing the v vector for ( int i = 0; i < n; i++) { cout << v[i] << " " ; } cout << "\n" ; // Initialize a vector without any size vector< int > vec; vec.push_back(1); vec.push_back(2); vec.push_back(3); vec.push_back(4); vec.push_back(5); // ... // To iterate over it: for ( auto it : vec) { cout << it << " " ; } cout << endl; return 0; } |
Output
0 1 2 3 4 1 2 3 4 5
GFact | Why doesn’t C++ have Variable Length Arrays library?
While studying DSA, we all have encountered Arrays and their fixed-size property. But have you ever thought about Why C language allows us the Variable-Length Array but C++ doesn’t? And what should we do in C++ if we want a Variable-Length Array?
Well, we will talk about the above in detail in the following post but first, we should know about the term Variable-length Array.