C++中的explicit
时间: 2023-08-27 21:05:34 浏览: 88
C++中的Explicit关键字
explicit是C++中的一个关键字,用于修饰类构造函数,表示该构造函数不会被隐式调用,只能显式地调用。
例如,如果一个类中有一个构造函数A(int),没有使用explicit修饰,那么可以这样调用:
```
A obj = 10;
```
这里会隐式地调用A(int)构造函数,将10转换成一个A类型的对象。但如果A(int)构造函数使用了explicit修饰,那么上述代码就会编译失败,必须显式地调用构造函数:
```
A obj(10); // 显式调用A(int)构造函数
```
使用explicit修饰构造函数可以避免一些隐式转换,增加代码的可读性和安全性。
阅读全文