Address of an element of AA
Ozan via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Apr 2 08:34:11 PDT 2016
On Saturday, 2 April 2016 at 14:22:01 UTC, Temtaime wrote:
> Hi !
> I can't find this in specs.
>
> If i add an element to AA:
> aa[10] = 123;
>
> Will &aa[10] be always the same (of course i don't remove that
> key) ?
>
> Thanks for a reply.
> I think specs should be enhanced.
Running following
int aa[int];
aa[10] = 123;
auto p = &aa[10];
writeln(*p);
aa[11] = 121; // add Element
writeln(*p);
aa[10] = 1; // change Element
writeln(*p);
aa.rehash; // reorganize
writeln(*p);
aa.remove(10);
aa[10] = 3; // remove & add Element
writeln(*p);
results in
123 // correct
123 // correct
1 // correct
1 // correct because I'm lucky
1 // wrong
What Alis said is "rehash", a combination of remove/add or any
other reorganisation, which could change memory usage and data
locations.
By the way...why do you need a pointer to an AA-Element?
Regards, Ozan
More information about the Digitalmars-d-learn
mailing list