Dynamic Memory Allocation
In C++, memory can be allocated dynamically using the new operator. This allows us to allocate memory at runtime and access it through pointers.
Let's look at an example:
1#include <iostream>
2using namespace std;
3
4int main() {
5 int* p = new int; // Allocate memory
6 *p = 5; // Assign value
7
8 cout << "Value at p: " << *p << endl;
9
10 delete p; // Deallocate memory
11
12 return 0;
13}In this example, we declare an integer pointer p and allocate memory for an integer using the new operator. We then assign a value of 5 to the memory location pointed to by p.
Executing the code will output:
1Value at p: 5After we are done using the dynamically allocated memory, it is important to deallocate it using the delete operator. Failure to do so can result in memory leaks and inefficient memory usage.
Dynamic memory allocation is particularly useful when we don't know the size of the memory required at compile time or when we want to allocate memory on the heap instead of the stack.
Keep in mind that whenever you allocate memory dynamically, it is your responsibility to deallocate it when it is no longer needed to avoid memory leaks.
xxxxxxxxxxusing namespace std;int main() { int* p = new int; // Allocate memory *p = 5; // Assign value cout << "Value at p: " << *p << endl; delete p; // Deallocate memory return 0;}


