Classes on stack
Ali Çehreli
acehreli at yahoo.com
Thu Sep 1 18:26:12 UTC 2022
On 9/1/22 10:59, Redwan wrote:
> On Thursday, 1 September 2022 at 13:53:06 UTC, IGotD- wrote:
>> If you have any classes in the class you allocate on the stack, the
>> constructor of the class will allocate them on the heap. Basically
>> only the top level class will be on stack.
>
> Can you give an example?
>
Sorry to jump in but the following program demonstrates this by pointer
values:
import std.stdio;
class A {
int i;
}
class B {
A a;
int i;
this() {
this.a = new A();
}
}
void main() {
scope b = new B();
int i;
writeln("on stack: ", &i);
writeln("on stack: ", &b.i);
writeln("on heap : ", &b.a.i);
}
Ali
More information about the Digitalmars-d
mailing list