Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit4dcebe8ce7e1183f49ea9e14501c8fd891ae5295 (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2020-12-27 16:39:04 +0200
Committer
 GitHub <noreply@github.com>
2020-12-27 16:39:04 +0200
Files1481644b7c342ea3ae2924e389aa612c6183071e
Introduction_to_programming_FMI-4dcebe8ce7e1183f49ea9e14501c8fd891ae5295.tar
Introduction_to_programming_FMI-4dcebe8ce7e1183f49ea9e14501c8fd891ae5295.tar.gz
Introduction_to_programming_FMI-4dcebe8ce7e1183f49ea9e14501c8fd891ae5295.zip
Parent048e9f8ef601d42e91b7ca7a46aa77a6e6626f27 (diff)
Create dynamic_memory.cpp
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.
+ //Уговаряме се, че ЩЕ БЪДЕ В СЪЩАТА ФУНЦКИЯ.
+ //Т.е няма да заделяме памет в една функция и да я освобождаваме в друга!
+}