explicit关键字,在C++中用来修饰构造函数,且只用来修饰单参数的构造函数;
原因是,在C++中,单参数的构造函数,在没有显式调用的时候,会有隐式的转换,为了避免隐式转换可能带来的问题以及疑惑,我们定义了explicit关键字,用于修饰单参数的构造函数,避免隐式调用构造函数的现象发生;
explicit关键字只需用于类内的单参数构造函数前面。由于无参数的构造函数和多参数的构造函数总是显示调用,这种情况在构造函数前加explicit无意义。
explicit关键字,在C++中用来修饰构造函数,且只用来修饰单参数的构造函数;
原因是,在C++中,单参数的构造函数,在没有显式调用的时候,会有隐式的转换,为了避免隐式转换可能带来的问题以及疑惑,我们定义了explicit关键字,用于修饰单参数的构造函数,避免隐式调用构造函数的现象发生;
explicit关键字只需用于类内的单参数构造函数前面。由于无参数的构造函数和多参数的构造函数总是显示调用,这种情况在构造函数前加explicit无意义。