How to use sprintf

Alexander aldem+dmars at nk7.net
Tue Apr 26 07:08:21 PDT 2011


On 26.04.2011 15:21, Daniel Gibson wrote:

> No, in D arrays are not just pointers. It's indeed a struct that
> contains the length (arr.length) and the pointer (arr.ptr).

  If this is a struct, then there is no "special compiler handling" needed to cast a struct to a pointer using opCast() (except for static arrays).

  But, from programmer point of view, array is not a struct, just a type with some properties, "struct" is hidden somewhere internally.

> This makes arrays in D a lot safer and also easier to use than in C.

  I see no danger in using cast(void *)Array instead of Array.ptr, if semantic is known in advance (and it is).

  IMHO, it would be not so good if this handling will be disallowed at some point.

/Alexander


More information about the Digitalmars-d mailing list