隐式类型转换、显示类型转换
- 当数据从"小类型"转换成"大类型"时,被称为隐式类型转换。(保证精度不丢失)
- C++中提供了
explict
关键字,在构造函数中声明的时候加上explicit
关键字,能够禁止隐式转换。- 如果构造函数只接收一个参数,则它实际上定义了转换为此类型的隐式转换机制。可以通过将构造函数声明为
explicit
加以制止隐式类型转换,关键字explicit
只对一个实参的构造函数有效,需要多个实参的构造函数不能用于执行隐式转换,所以无需将这些构造函数指定为explicit
。
- 当数据从"大类型"转换为"小类型"时,被称为显示类型转换。显示类型转换被称为强制类型转换,需要在前面加"
()
"转换操作符,并在括号类添加要转换的类型。