【C++ 】关键字explicit

explicit作用

  阻止类构造函数的隐式自动转换。

  由于C++的构造函数是默认支持隐式转换的(即默认是关键字implicit修饰)。

explicit使用场景

  • 修饰只含一个参数的构造函数;
  • 修饰除了第一个参数外其余参数都有默认值的构造函数。

  当在上面两种情况以外的构造函数前加explicit时,explicit失效。

原文地址:https://www.cnblogs.com/chen-cs/p/13027263.html