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

开发 后端
C++隐式转换的发生主要是在以下四种情况中,分别为:在混合类型的算术表达式中;用一种类型的表达式赋值;用一个表达式传递给一个函数调用;从一个函数返回一个表达式等。

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

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

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

  1. int ival = 3;  
  2. double dval = 3.1415  
  3. ival + dval; //ival 被提升为double 类型:3.0 

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

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

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

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

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

  1. double difference(int ival1, int ival2)  
  2. {  
  3. return ival1 - ival2; //返回值被提升为double 类型.  

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

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

  1. void dosomething(A aObject);  
  2. class A {  
  3. public:  
  4. A(int x = 0);  
  5. }  
  6. dosomething(20); // Ok 隐式转换 

以上就是对C++隐式转换的相关介绍。

【编辑推荐】

  1. C++析构函数不同使用方式
  2. C++ delete具体用法简述
  3. C++二维数组new几种应用方法点评
  4. C++回调函数代码示例解读
  5. C++浅拷贝具体内容讲述
责任编辑:曹凯 来源: 博客园
相关推荐

2023-08-14 08:35:36

2023-09-22 09:04:00

C++编程

2009-09-04 10:49:19

C#隐式转换

2022-02-23 21:24:21

索引SQL字符

2010-02-04 16:52:45

C++显式转换

2017-12-20 14:14:16

数据库MySQL数据类型

2009-07-21 13:54:55

Scala重载方法隐式转换

2011-08-09 16:25:16

Cocos2d视图坐标

2009-09-01 10:49:28

C#具有隐式类型声明

2010-02-04 16:58:29

C++类库

2010-02-03 10:17:29

C++继承方式

2017-09-05 16:17:35

JavaScript运算转换

2017-09-13 10:58:51

JavaScript转换规则

2021-12-01 06:03:24

JS TrueJavaScript

2010-02-02 11:27:16

C++字符串

2010-01-22 15:53:55

C++转换

2010-11-16 15:11:52

Oracle隐式游标

2021-11-23 23:31:43

C语言数据类型系统

2020-08-20 11:50:31

语言类型转换代码

2023-12-12 08:50:22

MySQL隐式转换varchar
点赞
收藏

51CTO技术栈公众号