How to cleanup array of structs?
Biotronic via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jun 2 07:17:46 PDT 2017
On Friday, 2 June 2017 at 13:32:02 UTC, Suliman wrote:
> I remember that there was topic about remobing data from
> struct/arrays of structs. But I do not remember what is
> idiomatic way to do it, and can't google it.
>
> something like:
> struct MyTrack
> {
> ulong id;
> string recordDate;
> int velocity;
> int maxAllowedSpeedForRoad;
> }
>
> MyTrack mytrack;
> MyTrack [] mytracks;
>
> // filling
>
> mytracks.clean() or what?
There are multiple options
// Will set the array to an empty one, and leave the
// old one for the GC to clean up when it feels like it.
// The safest way.
mytracks = null;
// Mostly equivalent:
mytracks = [];
// Will reuse the array, overwriting existing data.
// If other parts of the program are using existing data
// in the array, this will lead to hard-to-track-down bugs.
mytracks.length = 0;
mytracks.assumeSafeAppend();
// If you just want to get rid of the last element you added to
the array:
mytracks = mytracks[0..$-1];
--
Biotronic
More information about the Digitalmars-d-learn
mailing list