简单说就是用在构造函数前面 禁止隐式类型转换比如class cls{explicit cls(int i){...}};另外有一个函数void f(cls obj){...}int i=0;这时候调用f(i)就是错误的没有explicit的话就可以用i隐式建立一个对象这样做(显示调用构造函数)就是对的:cls obj(i);