Steven Schveighoffer wrote:
> struct AlgebraicFunction {
>    double getMaximum() {
>      if (!cache_valid) {
>        this.cachedMaximum = this.veryExpensiveCalculation();
>        cache_valid = true;
>      }
>      return this.cachedMaximum; // hey, I thought you only use struct
> pointers like (*x).member?

I kind of forgot that 'this' is a pointer inside structs.

>    }
> 
>    private Optional!double cached_maximum;
>    private bool cache_valid = false;
> }

If cached_maximum and cache_valid are the only members of
AlgebraicFunction, you might be able to get away with that.  If you have
several different cached values, not so much.


-- 
Rainer Deyke - rain...@eldwood.com

Reply via email to