The explicit keyword: What is the purpose of using explicit in front of a constructor?
The keyword explicit is used to modify constructors. The problem: compilers always try to make type conversions instead of returning errors. A 1-parameter constructor is fair game for such implicit conversion. But often the client programmer would prefer to see an error, where it is not likely the programmers intent to convert and integer, say, to a vector. For example: void f (std::vector