is this the expected output
g g
htpp at www.com
Wed Dec 22 15:16:13 PST 2010
Is this code :
import std.stdio;
import std.conv;
struct pt1{
p val;
pt1* next;
}
struct p{
int val;
string toString(){
return(to!string(val));
}
}
void thefun(pt1 x){
writeln(&x);
}
void main(){
auto p0 = p(1);
auto p1 = p(2);
auto p2 = p(3);
auto p3 = p(4);
p[] arr = [p0,p1,p2,p3];
writeln(arr);
foreach(r;arr){
thefun(pt1(r));
}
}
supposed to output this:
1 2 3 4
BFE61E28
BFE61E28
BFE61E28
BFE61E28 //Note all the addresses are the same
It is expected that using a struct literal(or default constructor) on a bucle reuses the same address?
I got hit by this trying to do a tree structure builder, for hours searching aand finally found this (feature | bug). If so, how I could get a new struct to void changing (in a unnoticeable way) the same struct i just set.
thanks.
g g
More information about the Digitalmars-d-learn
mailing list