Inability to dup/~ for const arrays of class objects
Peter Williams
pwil3058 at bigpond.net.au
Wed May 29 15:59:44 PDT 2013
On 29/05/13 19:40, monarch_dodra wrote:
>
> The problem is that you are missing a FUNDAMENTAL difference between C++
> and D. C++'s const merely says: "Though shalt not modify this value",
> whereas D's means "This object's value WILL remain constant, until the
> end of time, and under no circumstance can it ever be modified. Oh. And
> so will everything it references".
More likely C constness but yes I am still learning D. I suspect that a
lot of my D code currently looks like C code using D syntax. As I learn
more I'll go back and change the code to be more D like than C like
(especially as this usually leads to major simplifications).
I'm also starting to suspect that my understanding of how C arrays are
passed as arguments to functions is affecting my desire to use const
when passing them in and this may be misguided. I've been trying to
find out how non ref array arguments are passed to functions in D but
can't find any documentation on it. If doing that is not much less
efficient than passing by ref (and isolates the external representation
of the array from anything I do) then I can stop using ref and the
problem goes away.
Peter
More information about the Digitalmars-d
mailing list