is variable sized array are not allowed in c++?

Variable Sized Arrays in C++

Variable sized arrays are not allowed in standard C++. In C++, the size of an array must be a compile-time constant. This means that the size of an array must be known at the time of compilation and cannot be determined at runtime.

However, C++ does provide alternatives for dynamically-sized arrays, such as using dynamic memory allocation with pointers or using container classes like std::vector from the C++ Standard Library. These alternatives allow you to create arrays whose size can be determined at runtime.

Here's an example of using dynamic memory allocation with pointers to create a dynamically-sized array in C++:

int size;
std::cout << "Enter the size of the array: ";
std::cin >> size;

int* dynamicArray = new int[size];

// Use the dynamicArray as a regular array

// Don't forget to deallocate the memory when you're done
delete[] dynamicArray;

In this example, the size of the array is determined at runtime by user input. The new operator is used to allocate memory for the array, and the delete[] operator is used to deallocate the memory when it is no longer needed.

Using container classes like std::vector provides a more convenient and safer way to work with dynamically-sized arrays in C++. std::vector automatically manages the memory allocation and deallocation for you, and provides additional functionality like dynamic resizing.

#include <vector>

int size;
std::cout << "Enter the size of the array: ";
std::cin >> size;

std::vector<int> dynamicArray(size);

// Use the dynamicArray as a regular array

In this example, std::vector<int> is used to create a dynamically-sized array of integers. The size of the array is determined at runtime by user input.

Note: Although variable sized arrays are not allowed in standard C++, some compilers provide extensions that allow variable sized arrays as a non-standard feature. However, it is generally recommended to use the alternatives mentioned above for dynamically-sized arrays in C++ to ensure portability and compatibility across different platforms and compilers.

[1]