C++隐式转换各种发生情况

C++编程语言中的类型转换分为两种,一种为隐式转换,而另一种则为显式转换。我们在这篇文章中将会为大家详细介绍一下其中的C++隐式转换的各种发生情况,希望能帮助大家从中获得一些帮助。

C++隐式转换发生在四种情况下

* 在混合类型的算术表达式中

int ival = 3;  



double dval = 3.1415  



ival + dval; //ival 被提升为double 类型:3.0 

* 用一种类型的表达式赋值

int *pi = NULL; // NULL(0)被转换成了int* 类型的空指针值 

* 用一个表达式传递给一个函数调用

extern double sqrt(double);  


sqrt(2); //2被提升为double类型: 2.0 

* 从一个函数返回一个表达式

double difference(int ival1, int ival2)  


{  


return ival1 - ival2; //返回值被提升为double 类型.  


} 

C++内建类型(char,int,short,double etc.)对像之间默认含有隐式转换

C++用户定义类对象之间可以含有C++隐式转换.

c++

相关推荐