隐式转换是什么意思?
我在学C++语言,在看到隐式转换和显式转换时有点不太明白,有哪位高人指点指点,谢谢!
char c; int a = c; //隐式转换 ok int b = (int )c; //显示转换 ok char d = a; //隐式转换 error char e = (char)a;//显示转换 ok
从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的路就通畅了。
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>