Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 12 / dynamic_memory.cpp
diff options
context:
space:
mode:
1 files changed, 27 insertions, 0 deletions
-rw-r--r--Sem. 12/dynamic_memory.cpp27
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 <iostream>
+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.
+ //Уговаряме се, че ЩЕ БЪДЕ В СЪЩАТА ФУНЦКИЯ.
+ //Т.е няма да заделяме памет в една функция и да я освобождаваме в друга!
+}