【C++ 】关键字explicit

explicit作用

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

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

explicit使用场景

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

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

posted @ 2020-06-01 20:18  Chen沉尘  阅读(125)  评论(0编辑  收藏  举报