Resize String Array in C++
There is no way to directly resize the previously allocated memory. But we can create a new array, copy all the elements, and then delete the previous array using new and delete operators.
C++ Programs to Resize an Array in Strings
C++
// C++ Program to Resize and Copy Elements in Dynamic Array #include <iostream> using namespace std; int main() { // Create an array of strings string* oldArray = new string[5]{ "Apple" , "Banana" , "Cherry" , "Date" , "Fig" }; // Display the elements in the old array cout << "Old Array Elements:" << endl; for ( int i = 0; i < 5; ++i) { cout << oldArray[i] << endl; } // Create a new array with a larger size (e.g., double // the size) int newSize = 7; string* newArray = new string[newSize]; // Copy elements from the old array to the new array for ( int i = 0; i < 5; ++i) { newArray[i] = oldArray[i]; } newArray[5] = "kiwi" ; newArray[6] = "dragonfruit" ; // Delete the old array delete [] oldArray; // Display the elements in the new array cout << "New Array Elements:" << endl; for ( int i = 0; i < newSize; ++i) { cout << newArray[i] << endl; } // Delete the new array delete [] newArray; return 0; } |
Old Array Elements: Apple Banana Cherry Date Fig New Array Elements: Apple Banana Cherry Date Fig kiwi dragonfruit
Instead of this type of array we can use dynamic std::vector of strings which by default enables dynamic resizing.
How to Resize an Array of Strings in C++?
In C++, the array of strings is useful for storing many strings in the same container. Sometimes, we need to change the size of this array. In this article, we will look at how to resize the array of strings in C++.