问题
25% of programmers work time is spended by checking if the required code already exist.
I'm searching for a base class for implementing the safe bool idiom.
回答1:
bool_testable<>
in Boost.Operators looks promising.
The reference mentions that:
bool_testable
provides the antithesis ofoperator bool
, such that the expressionif (!p)
is valid, whilst also makingoperator bool
safer by preventing accidental conversions to integer types. ...bool_testable<>
prevents these accidental conversions by declaring a private conversion operator to signed char, and not defining the body.
回答2:
The safest thing to do is to not have implicit conversion to bool
.
Make that conversion explicit.
Then the name, if chosen well, can also help people understand what it's all about.
Cheers & hth.,
来源:https://stackoverflow.com/questions/6883901/is-there-a-safe-bool-idiom-helper-in-boost