[cfe-commits] r111116 - in /cfe/trunk: include/clang/Checker/PathSensitive/ConstraintManager.h include/clang/Checker/PathSensitive/GRState.h lib/Checker/FlatStore.cpp lib/Checker/RegionStore.cpp lib/Checker/SimpleConstraintManager.cpp lib/Checker/SimpleConstraintManager.h lib/Checker/Store.cpp test/Analysis/outofbound.c

Ted Kremenek kremenek at apple.com
Mon Aug 16 09:06:54 PDT 2010


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.

Ted



More information about the cfe-commits mailing list