An inheriting class with a user-defined copy constructor must call its base class's copy constructor.
Identifiers with typographically ambiguous names can be hard to read and adds unnecessary responsibility on the developer to be careful with the exact identifiers they are using.
Having identifiers unintentionally shadowed from the outer scope by the inner scope can possibly lead to bugs in code.
Consider using unique identifier names.
A pointer to the boolean type is used in the if
condition with implicit conversion. The same pointer is never dereferenced.
std::accumulate
CXX-W2005std::accumulate
folds the elements to the initial value type (provided as the last argument to std::accumulate
). When the initial value type is narrower than that of the elements to sum, there is a loss in precision.