cplusplus:pointers_4_slides
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
cplusplus:pointers_4_slides [2021/10/24 02:55] – [Memory management of dynamically allocated storage] mithat | cplusplus:pointers_4_slides [2021/10/24 03:02] – [''malloc'' and ''free''] mithat | ||
---|---|---|---|
Line 39: | Line 39: | ||
double *myPtr, *yourPtr; | double *myPtr, *yourPtr; | ||
- | myPtr = new (double); | + | myPtr = new double; |
- | yourPtr = new (double); | + | yourPtr = new double; |
cout << "Enter a number: "; | cout << "Enter a number: "; | ||
Line 109: | Line 109: | ||
void ninetynine() | void ninetynine() | ||
{ | { | ||
- | int localVar = 99; // at end of fcn call, localVar is destroyed | + | int localVar = 99; // localVar is destroyed |
cout << localVar << endl; | cout << localVar << endl; | ||
} | } | ||
Line 139: | Line 139: | ||
void ninetynine() | void ninetynine() | ||
{ | { | ||
- | int *localPtr = nullptr; | + | int *localPtr = nullptr; |
localPtr = new int; // but not dynamically allocated storage | localPtr = new int; // but not dynamically allocated storage | ||
Line 184: | Line 184: | ||
* Memory leaks, no matter how small, are bad programming practice. | * Memory leaks, no matter how small, are bad programming practice. | ||
* Can be fixed by the proper use of **deallocation**: | * Can be fixed by the proper use of **deallocation**: | ||
- | * Deallocation of dynamically allocated storage does not happen automatically. | + | |
* You must explicitly (i.e., manually) deallocate the memory. | * You must explicitly (i.e., manually) deallocate the memory. | ||
Line 193: | Line 193: | ||
int *myPtr = new int; | int *myPtr = new int; | ||
... | ... | ||
- | delete myPtr; // deallocates block pointed to by localPtr. | + | delete myPtr; // deallocates block pointed to by myPtr. |
</ | </ | ||
Line 241: | Line 241: | ||
int main() | int main() | ||
{ | { | ||
- | double *sales = nullptr, // To dynamically allocate an array | + | double *sales = nullptr, |
- | total = 0.0, // Accumulator | + | total = 0.0, // Accumulator |
- | average; // To hold average sales | + | average; |
- | int numDays, // To hold the number of days of sales | + | int numDays, |
- | count; // Counter variable | + | count; |
// Get the number of days of sales. | // Get the number of days of sales. | ||
Line 298: | Line 298: | ||
* '' | * '' | ||
* Part of C and so are available in C++ as well. | * Part of C and so are available in C++ as well. | ||
- | * More cumbersome than '' | + | * More cumbersome than '' |
===== Returning Pointers from Functions ===== | ===== Returning Pointers from Functions ===== |
cplusplus/pointers_4_slides.txt · Last modified: 2021/10/24 03:02 by mithat