Files
gpd-924-en/CPlusPlus/Pointers/main.cpp
T
david d8f6014fab add collections
add pointers
2025-09-16 18:10:24 +02:00

37 lines
906 B
C++

#include <iostream>
#include "functions.h"
using namespace std;
int main()
{
// general
int* pNumber = nullptr; // pointer definition, always initialize a pointer (at least with nullptr)
pNumber = new int(0); // creates a new integer value on the heap
cout << "size of pointer: " << sizeof(pNumber) << endl;
cout << "size of pointer data: " << sizeof(*pNumber) << endl;
*pNumber = 789;
//pNumber = new int(0); // BAD BAD - memory leak, because we override an existin g pointer address with a new one without saving or deleting the old one
// here are 100s lines of code
if (pNumber != nullptr)
{
delete pNumber;
pNumber = nullptr;
}
// pointer as references outside local scope
int number = 10;
changeInteger(number);
number = changeIntegerPerReturn(number);
changeIntegerPerPointer(&number);
changeIntegerPerPointer(pNumber);
changeIntegerPerReference(number);
return 0;
}