首页 > 编程语言 > 详细

C++:explicit关键字

时间:2017-03-08 21:27:50      阅读:229      评论:0      收藏:0      [点我收藏+]

在C++中,如果一个类的构造函数只有一个形参,在这种情况下,可以直接将一个对应于构造函数参数类型的数据直接赋值给类变量,编译器在编译时会自动进行类型转换,将对应于构造函数参数类型的数据转换为类的对象,这是一种隐式类型转换。如果在构造函数前加上explicit修饰词,表明该构造函数是显式(explicit)的,则会禁止这种自动转换,在这种情况下,即使将对应于构造函数参数类型的数据直接赋值给类变量,编译器也会报错。这种方法是在编译时加上限制条件,在编译时就能发现不该有的类型转换。

三个要点:

(1)explicit 关键字只能用于类内部的构造函数声明上。

(2)explicit 关键字作用于一个参数的构造函数。

(3)在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换。

C++:explicit关键字

原文:http://www.cnblogs.com/lzhu/p/6523021.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!