Leaving a pointer to it on the stack

Andre Pany andre at s-e-a-p.de
Thu Aug 13 20:04:59 UTC 2020


Hi,

in the specification 
https://dlang.org/spec/interfaceToC.html#storage_allocation there 
is this paragraph:
"Leaving a pointer to it on the stack (as a parameter or 
automatic variable), as the garbage collector will scan the 
stack."

I have some trouble to understand what does this mean. Given this 
example:

```
import std;

void main()
{
	int* i;
	sample(&i);
	writeln(*i);
}

extern(C) export void sample(int** i)
{
	*i = new int();
	**i = 42;
}
```

Int variable is created on the heap. How do I leave a pointer on 
the stack?
(In the real coding, sample function will be called from Delphi)

Kind regards
André


More information about the Digitalmars-d-learn mailing list