On Aug 16, 2010, at 9:23 AM, Douglas Gregor wrote:
>
> 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.
That's fair, and this is possibly one of those cases. That's why I had mixed
feelings. :)
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits