文章目录
explicit
关键字在 C++ 中用于修饰构造函数,以防止隐式类型转换或隐式构造函数调用。对于刚入门的 C++ 学习者,理解这个关键字的作用和使用场景是很重要的,因为它能够帮助避免代码中的一些潜在错误。
1. 隐式类型转换
在 C++ 中,如果一个类的构造函数可以使用一个参数进行初始化,那么在某些情况下,编译器会自动使用这个构造函数进行隐式转换。例如:
class MyClass {
public:
MyClass(int value) {
std::cout << "Constructor called with value: " << value << std::endl;
}
};
void printMyClass(MyClass obj) {
std::cout << "Function printMyClass called" << std::endl;
}
int main() {
printMyClass(