On Monday, 8 June 2020 at 06:42:44 UTC, Simen Kjærås wrote:

Arrays (technically, slices) in D are essentially this struct:

struct Array(T) {
    T* ptr;
    size_t length;
    // operator overloads
}

So when you have int[][], each element of the outer array is an Array!int. These, as simple structs, are copied about, so that changing one does not change another.

Thank you for the reply, I think this explanation should be added to the top of https://dlang.org/spec/arrays.html

Then people (esp with C/C++ background) can easily understand D's array behavior.



Reply via email to