c++中explicit关键字的作用是什么,举个例子
时间: 2024-05-03 08:20:34 浏览: 109
C++中的explicit关键字实例浅析
C++ 中的 explicit 关键字表示禁止隐式转换,它可以用于类的构造函数和类型转换函数。下面是一个使用 explicit 关键字的类构造函数的示例:
```
class A {
public:
explicit A(int x) {
// ...
}
};
int main() {
A a = 1; // 错误,禁止隐式转换
A b(2); // 正确,显式转换
return 0;
}
```
在上面的例子中,如果没有使用 explicit 关键字,则可以直接将整数类型的值传递给 A 类的构造函数,这是一种隐式转换。但是由于使用了 explicit 关键字,所以编译器会报错。
阅读全文