pure member functions

Steven Schveighoffer schveiguy at yahoo.com
Tue Sep 21 06:27:20 PDT 2010


On Mon, 20 Sep 2010 16:26:44 -0400, Don <nospam at nospam.com> wrote:

> Steven Schveighoffer wrote:
>>  I think it's ok for a function to be pure if all the arguments are  
>> unshared, regardless of immutability.  However, in order to cache the  
>> return value, the reference itself must not be used as the key, but the  
>> entire data of the reference.  Even if it's immutable, wouldn't you not  
>> want to cache the return values between two identical immutable objects?
>
> Possibly, but my guess is that it would take too long to check.

This is why I hate the idea of automatic caching -- how does the compiler  
know that it would be too long?  What if the operation takes 15 seconds,  
and to do the memcmp takes 15 milliseconds?

-Steve


More information about the Digitalmars-d-learn mailing list