Big Oversight with readln?

Mike Parker via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Feb 23 23:44:25 PST 2017


On Friday, 24 February 2017 at 07:38:04 UTC, Mike Parker wrote:
> On Friday, 24 February 2017 at 04:22:17 UTC, Jonathan Marler 
> wrote:
>
>>
>> I discovered the .capacity property of arrays.  I don't know 
>> why I've never seen this but it looks like this is how readln 
>> is recovering this seemingly lost peice of data.  This does 
>> have an odd consequence though, if you pass a slice into 
>> readln it will read past the end of it if the underlying 
>> buffer is larger.  This might be something worth adding to the 
>> documentation.
>>
>> Also I'm not completely sure how .capacity works, I assume it 
>> has to look up this information in the memory management 
>> metadata.  Any enlightenment on this subject is appreciated. 
>> It also says it's a O(log(n)) operation so I'm guessing it's 
>> looking it up in some sort of binary tree data structure.
>
> https://dlang.org/phobos/object.html#.capacity

And although it never mentions capacity directly (capacity may 
not have been available when it was written, I can't recall), the 
How It Works section of Steven's array article gives the gist of 
it.

https://dlang.org/d-array-article.html


More information about the Digitalmars-d-learn mailing list