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++隐式转换.
- void dosomething(A aObject);
- class A {
- public:
- A(int x = 0);
- }
- dosomething(20); // Ok 隐式转换
以上就是对C++隐式转换的相关介绍。
【编辑推荐】
当前标题:C++隐式转换各种发生情况
文章出自:http://www.mswzjz.cn/qtweb/news49/471599.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能