From 4dcebe8ce7e1183f49ea9e14501c8fd891ae5295 Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Sun, 27 Dec 2020 16:39:04 +0200 Subject: Create dynamic_memory.cpp --- Sem. 12/dynamic_memory.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Sem. 12/dynamic_memory.cpp (limited to 'Sem. 12/dynamic_memory.cpp') diff --git a/Sem. 12/dynamic_memory.cpp b/Sem. 12/dynamic_memory.cpp new file mode 100644 index 0000000..6d45a1d --- /dev/null +++ b/Sem. 12/dynamic_memory.cpp @@ -0,0 +1,27 @@ +#include +using namespace std; + +int main() +{ + int arr[3]; //големината на тези масиви трябва да е ясна ПРЕДИ да се компилира програмата + //паметта за стека трябва да се задели преди да тръгне програмата + if (true) + { + int num = 10; + num++; + } + //num++; //стекът сам си "чисти" паметта. Променливата num не съществува. + + int n; + cin >> n; + int* arr = new int[n];// Тук n е променлива - стойността и НЕ е ясна преди да тръгне програмата! + + /*if (true) + { + arr = new int[2*n] // Отечка на памет (memory leak).Не е изтрита паметта, към която сочи arr. + }*/ + delete[] arr; + //За всяко едно new трябва да имаме едно delete. + //Уговаряме се, че ЩЕ БЪДЕ В СЪЩАТА ФУНЦКИЯ. + //Т.е няма да заделяме памет в една функция и да я освобождаваме в друга! +} -- cgit v1.3.1-23-gd82d