面试真题

C++ · 简单 · 百度

explicit` 的作用?

简单 C++ 🎤 百度
参考答案
结论:explicit修饰C++构造函数,禁止隐式类型转换。原理:1.单参数构造函数默认允许隐式转换如A a=10;调用构造。2.加explicit后只能显式A a(10);阻止意外转换。3.提升类型安全,避免如bool转对象的错误。示例:class W{explicit W(int);}; void f(W); f(5); 编译错,须f(W(5))。建议单参数构造普遍用explicit。
题目整理自公开面经,答案由校招宝自研生成,仅供参考