What does it mean: buffer[0 .. kSize] = input[index .. (index + Size)];

Koroskin Denis 2korden at gmail.com
Fri Jul 25 02:42:47 PDT 2008


On Fri, 25 Jul 2008 12:50:36 +0400, t0mek <t0mek at com.com.com.com.com>  
wrote:

> Hello,
> I found some code in D and I am wondering what does it mean:
> buffer[0 .. Size] = input[index .. (index + Size)];
>
> I understand it can be written like this:
> for (i=0; i<Size; i++) buffer[i]=input[i+index];
> But...
> 1) does it allocate space for buffer?
> 2) if buffer has already some data- will be zeroed?
> 3) if there is no enough date (less then Size) in input will there be an  
> exception or will be copied what already is in the array?
>
> Regards,
> t0mek


It is *exactly* the same (however, a memcpy could be used under the hood),  
i.e.
- there is no allocation
- data will be overwritten
- an OutOfBounds exception will be thrown if array is not large enough


More information about the Digitalmars-d-learn mailing list