爱问知识人 爱问教育 医院库

隐式转换是什么意思?

首页

隐式转换是什么意思?

我在学C++语言,在看到隐式转换和显式转换时有点不太明白,有哪位高人指点指点,谢谢!

提交回答
好评回答
  • 2010-01-26 15:24:57
    char   c;   
      int   a   =   c;   //隐式转换   ok   
      int   b   =   (int   )c;   //显示转换   ok   
      char   d   =   a;   //隐式转换   error   
      char   e   =   (char)a;//显示转换   ok   
        
    

    清***

    2010-01-26 15:24:57

其他答案

    2010-01-28 00:37:08
  • 从C语言继承下来的基本类型之间的隐式转换 
    T*指针到void*的隐式转换 
    non-explicit constructor 接受一个参数的隐式转换 
    从子类到基类的隐式转换(安全) 
    从const到non-const的同类型的隐式转换(安全)
    除上面的五种隐式转换外,C++的编译器还非常聪明,当没法直接隐式转换的时候,它会尝试间接的方式隐式转换,这使得有时候的隐式转换非常的微妙,一个误用会被编译器接受而会出现意想不到的结果。例如假设类A有一个non-explicit constructor,唯一的参数是类B,而类B也有一个non-explicit constructor接受类型C,那么当试图用类型C的实例初始化类A的时候,编译器发现没有直接从类型C构造的过程,但是呢,由于类B可以被接受,而类型C又可以向类型B隐式转换,因此从C->B->A的路就通畅了。
    

    金***

    2010-01-28 00:37:08

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):