scoped classes
Stanislav Blinov via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Apr 27 12:18:14 PDT 2017
On Thursday, 27 April 2017 at 18:36:08 UTC, Alex wrote:
>> * I'm pretty sure that the code is going to be invalid when
>> you're dealing with const/immutable data.
> Ok... this is important... I tried this out, and the value of
> the immutable data even remains the same. But for safety
> reasons, I would reconstruct the structs inside the array
> anyway, so I can live with this, I think...
move() is only destructive if the type has custom postblit or
destructor, otherwise it's just a bitwise copy. But, as
mentioned, there's an issue with it at the moment: it doesn't
really care if the type being moved has const/immutable members.
uninitializedArray is scary. If you do use it, probably best to
localize the usage as much as possible and be very very VERY
careful with it ;)
Here's a sketch of something that's a little bit more convenient:
https://dpaste.dzfl.pl/ee472fd872a5
But I'm not going to pretend it'd survive a review.
Also note that, going back to your original question, docs for
scoped state that it's illegal to move it, so that particular
type you can't really store in any of these arrays.
More information about the Digitalmars-d-learn
mailing list