Why free and realloc seem to include .

Michael via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Aug 3 08:18:17 PDT 2017


On Thursday, 3 August 2017 at 14:15:40 UTC, Temtaime wrote:
> On Thursday, 3 August 2017 at 14:03:56 UTC, Michael wrote:
>> So this might be a bit of a stupid question, but looking at 
>> the DMD source code (dmodule.d in particular) I see the 
>> following code:
>>
>>>[...]
>>
>> and I was just wondering why certain functions seem to be 
>> called using the dot operator on its own, unattached to some 
>> object. This is probably a naive question but I haven't seen 
>> this in my limited experience using D and I was just wondering 
>> why this is. I have only really seen this relating to D's 
>> manual memory management. But in the same file, I see examples 
>> like this:
>>
>>>[...]
>>
>> so what is the case when you should use .free() and why not 
>> just free()? Thanks.
>
> Dot is equal to C++'s :: operator to access a global namespace.
> Aka ::free(ptr);

I've not seen that either, though I'm not a C++ programmer. Does 
using free() on its own not assume access of a global namespace?


More information about the Digitalmars-d-learn mailing list