On Aug 16, 2010, at 9:06 AM, Ted Kremenek wrote:

> 
> On Aug 15, 2010, at 6:15 PM, Jordy Rose wrote:
> 
>> +
>> +  operator bool() const {
>> +    return getRegion() != NULL;
>> +  }
>> };
> 
> Hi Jordy,
> 
> I'm really mixed about this.  operator bool() is convenient, but in my 
> experience it doesn't lead to better readability in the code.  Why not just 
> have clients call 'getRegion()', where the check becomes explicit?  Using 
> operator bool() also compounds the often abused use of bool.  For me, bool is 
> 'true' and 'false', not "is valid" or "is not valid".  If someone doesn't 
> know the correct interpretation of operator bool() in a specific context, it 
> is easy to mess things up.

In general, conversion to bool is useful when the class may be used in the 
pattern

        if (C c = maybeGetAC()) {
        }

I have no idea whether this pattern will be used with this class.

        - Doug
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to