Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit097fba114ab09c0e3b30e85c633d380f66f4f10c (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2021-03-19 14:49:08 +0200
Committer
 GitHub <noreply@github.com>
2021-03-19 14:49:08 +0200
Filesf265a43b824a72545ab2ef9a57bbfa988c97713d
Object-oriented_programming_FMI-097fba114ab09c0e3b30e85c633d380f66f4f10c.tar
Object-oriented_programming_FMI-097fba114ab09c0e3b30e85c633d380f66f4f10c.tar.gz
Object-oriented_programming_FMI-097fba114ab09c0e3b30e85c633d380f66f4f10c.zip
Parentfad345653d3f1ab463860f2c42f3d15179c15bc0 (diff)
Update README.md
1 files changed, 0 insertions, 96 deletions
-rw-r--r--Sem. 04/README.md96
diff --git a/Sem. 04/README.md b/Sem. 04/README.md
index cdb0ea4..3933611 100644
--- a/Sem. 04/README.md
+++ b/Sem. 04/README.md
@@ -99,102 +99,6 @@ int main()
-# Структури и двоични файлове.
-### Размер на структура:
- ```c++
-#include <iostream>
-using namespace std;
-
-struct A
-{
- int a;
- int b;
-};
-
-int main()
-{
- cout << sizeof(A) << endl; // 8 bytes (4 bytes for each int)
-
- return 0;
-}
- ```
-
- Ето как изглежда структурата в паметта:
-
-
- ![enter image description here](https://i.ibb.co/9yWmQjP/2.png)
-
-Пример за **естествено подравняване**:
-
- ```c++
-#include <iostream>
-
-using namespace std;
-
-struct B
-{
- char ch;
- int a;
-};
-
-int main()
-{
- cout << sizeof(B); // 8 byte-s
-
- return 0;
-}
-
- ```
- В паметта нещата изглеждат така:
-
-![enter image description here](https://i.ibb.co/zJ5bLCw/pic1.png)
-
-### Подравняване
-При представянето на обект (от някакъв тип) в паметта:
-
-- В паметта променливите са разположени **в същия ред**, в който са декларирани в структурата.
- - Подравняването става по **големината на най-голямата примитивна член-променлива** на структурата - размерът на структурата трябва да се дели на размерзът на най-голямата променлива.
- - *Неформално*: Всяка променлива трябва да е на байт (ако приемем, че байтовете имат индекс, започвайки от 0), който е **кратен на големината на променливата**.
-
- За постигане на най-компактно представяне полетата на структурата да се сортират по тяхната големина в низходящ ред
-
-### Пример за записване на обекти във файл.
- ```c++
-#include <iostream>
-#include <fstream>
-using namespace std;
-
-struct Test
-{
- char ch;
- int a;
-};
-int main()
-{
- ofstream f("output.dat", ios::binary);
-
- if(!f.is_open())
- {
- cout << "Error!" << endl;
- return -1;
- }
-
- Test arr[3] = {{'a', 400},{'b', 500},{'c', 600}};
-
- f.write((const char*)&arr, sizeof(arr));
-
- f.close();
-
- return 0;
-}
-
- ```
-
-След изпълнението на програмата, файлът (**output.dat**) изглежда така:
-
-![Image of the binary file after running the code](https://i.ibb.co/0JthLd6/3-A978-D14-7-C7-A-4-ABD-8-B0-C-DA27-F6-E9-CD0-A.png "Binary file")
-
-
### Пример за записване на обекти, които съдържат динамично заделени данни, във файл.
```c++