Add a "memory management" Chapter into the first steps document
This commit is contained in:
parent
f6c21db7e7
commit
602526686c
|
@ -1,5 +1,6 @@
|
||||||
2018-12-19 Markus Gans <guru.mail@muenster.de>
|
2018-12-19 Markus Gans <guru.mail@muenster.de>
|
||||||
* Use of smart pointers
|
* Use of smart pointers
|
||||||
|
* Add a "memory management" Chapter into the first steps document
|
||||||
|
|
||||||
2018-12-17 Markus Gans <guru.mail@muenster.de>
|
2018-12-17 Markus Gans <guru.mail@muenster.de>
|
||||||
* Improve FButton mouse click animation
|
* Improve FButton mouse click animation
|
||||||
|
|
|
@ -97,3 +97,40 @@ the result to the operating system. The started application enters
|
||||||
the main event loop. This loop does not end until the window is
|
the main event loop. This loop does not end until the window is
|
||||||
not closed.
|
not closed.
|
||||||
|
|
||||||
|
|
||||||
|
Memory Management
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
If you want to create a hierarchy of FObjects (or derived classes/widgets),
|
||||||
|
a new FObject must initialize with its parent object.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
FObject* parent = new FObject();
|
||||||
|
FObject* child = new FObject(parent);
|
||||||
|
```
|
||||||
|
|
||||||
|
When you deallocate the used memory of a parent FObject,
|
||||||
|
the allocated memory of its child objects will automatically deallocate
|
||||||
|
too.
|
||||||
|
|
||||||
|
An object can also be assigned to another object later via `addChild()`.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
FObject* parent = new FObject();
|
||||||
|
FObject* child = new FObject();
|
||||||
|
parent->addChild(child);
|
||||||
|
```
|
||||||
|
|
||||||
|
The child object assignment can also remove at any time with
|
||||||
|
`delChild()`.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
FObject* parent = new FObject();
|
||||||
|
FObject* child = new FObject(parent);
|
||||||
|
parent->delChild(child);
|
||||||
|
```
|
||||||
|
|
||||||
|
If an FObject with a parent will remove from the hierarchy,
|
||||||
|
the destructor automatically deletes the object assignment from
|
||||||
|
its parent object. If a class object doesn't derive from FObject,
|
||||||
|
you must implement storage deallocation yourself.
|
||||||
|
|
Loading…
Reference in New Issue