1: //pointers6.cpp
3: #include <iostream>
4: using namespace std;
6: int main()
7: {
8: cout << "\nThis program illustrates dynamic memory deallocation.";
9: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
11: cout << "\nFirst we declare a dynamic variable, fill it with a "
12: "value, and display that\nvalue. Then we return the variable "
13: "storage to the heap and try once again to\ndisplay the value.\n";
15: int* p_int1 = new int;
16: *p_int1 = 17;
17: cout << *p_int1 << endl;
19: delete p_int1;
20: cout << *p_int1 << endl;
21: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
24: cout << "\nNow we declare a dynamic array, fill it with values, "
25: "display the values, then\nreturn the array storage to the "
26: "heap and try once again to display the values.\n";
28: int* p_int2 = new int[5];
29: for (int i = 0; i < 5; i++) p_int2[i] = i + 1;
30: for (int i = 0; i < 5; i++) cout << p_int2[i] << " "; cout << endl;
32: delete [] p_int2;
33: for (int i = 0; i < 5; i++) cout << p_int2[i] << " "; cout << endl;
34: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
35: }