显式关键字
可能的重复:
C++ 中的显式关键字是什么意思?
关键字显式是什么意思?
Possible Duplicate:
What does the explicit keyword in C++ mean?
what does the keyword explicit mean?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只有一个参数的 C++ 构造函数会自动执行隐式类型转换。例如,如果在构造函数需要字符串指针参数时传递 int,编译器将添加将 int 转换为字符串指针所需的代码。但是,您可能并不总是需要这种自动行为。
您可以将显式添加到构造函数声明中以防止隐式转换。这会强制代码使用正确类型的参数,或者将参数转换为正确的类型。也就是说,如果转换没有在代码中明显地表达,就会产生错误。
显式 (C++)
C++ constructors that have just one parameter automatically perform implicit type conversion. For example, if you pass an int when the constructor expects a string pointer parameter, the compiler will add the code it must have to convert the int to a string pointer. However, you might not always want this automatic behavior.
You can add explicit to the constructor declaration to prevent implicit conversions. This forces the code to either use a parameter of the correct type, or cast the parameter to the correct type. That is, if the cast is not visibly expressed in code, an error will result.
explicit (C++)