Best Practices for Using C++ explicit Keyword in Constructors