![]() |
Liegen lokale Klassen auf dem Stack?
Beispiel Test class:
Delphi-Quellcode:
procedure TSomeClass.DoSomeThing;
var Test: TTest; begin try Test := TTest.Create; // <- .. finally Test.Free; end; end; |
AW: Liegen lokale Klassen auf dem Stack?
Natürlich nicht.
Nur die Variable für den Instanzzeiger liegt auf dem Stack. (also nur der Pointer) |
AW: Liegen lokale Klassen auf dem Stack?
Warum fragst du denn? Bin neugierig.
|
AW: Liegen lokale Klassen auf dem Stack?
Zitat:
|
AW: Liegen lokale Klassen auf dem Stack?
Zitat:
Ich denke C++ ist in der Hinsicht eher "unnatürlich". |
AW: Liegen lokale Klassen auf dem Stack?
Zitat:
|
AW: Liegen lokale Klassen auf dem Stack?
Ok. Vielen Dank.
|
AW: Liegen lokale Klassen auf dem Stack?
Zitat:
Wer das benutzt: Ich benutze das so oft es geht, weil Stack-Allokationen schneller sind als Heap-Allokationen. Sehr nützliches Feature meiner Meinung nach. Es geht dabei ja nicht nur um den Stack, sondern auch um geschachtelte Konstrukte, also beispielsweise Objekte, die wieder andere Objekte enthalten. Hier muss man nur einmal Speicher reservieren statt mehrfach und spart sich eine ganze Reihe von Pointern. |
AW: Liegen lokale Klassen auf dem Stack?
Zitat:
Das kann je nachdem auch ganz schnell in die Hose gehen bei Rekursionen oder einer großen Menge Objekte. Der Stack ist im Vergleich zum Heap winzig. |
AW: Liegen lokale Klassen auf dem Stack?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz