<C++>_C++的类型检查更严格
来源:互联网 发布:code app数据 编辑:程序博客网 时间:2024/06/16 06:19
C++作为一门面向对象的增强型语言,有着比C语言更为严谨的类型检查功能 。
在C语言中,我们经常可以像这样定义一个变量:
const int a = 100;
这样的a被定义成了一个常量,在后面的代码中我们便不能通过a = 200 这样的方式修改a的值,可是我们可以这样:
int *p = &a;
然后再这样:
*p = 200;
最后读者可以尝试打印一下a的值:
printf(“a = %d\n”, a);
不用说,打印的结果一定是:a = 200;
其实,对于const int a,我们给它取地址,可以发现a的地址其实是这样的类型: & const int
而int *p = &a这句中等于把一个 & const int 赋给了 &int,在C语言中,这样的事情是可以发生的。
在C++中,这样的语句是不能被编译通过的,因为C++的内心是抵触强转的:
还有如下这种情况:
因为malloc出来的内存是 void * 类型,而 p 是int型。
广西师范大学 全宏春
0 0
- <C++>_C++的类型检查更严格
- 严格的类型检查
- STRICT type checking 严格的类型检查
- C++指针和C指针的区别:前者类型要求更严格
- <C++>_C++的枚举
- 2.6 Android 代码的严格检查
- 更严格的手机号码正则表达式写法
- 更严格的手机号码正则表达式写法
- android更严格的清除指令
- wireshark的严格检查,如tcp的校验码检查
- 更简单的元素检查
- 关于继承更关于静态类型和动态类型检查
- 一步一步学习TypeScript(04.严格的对象赋值检查)
- android比make clean更严格的清除指令
- 2015072203 - 要求别人的同时更得严格要求自己
- Amaya呼吁更严格的DFS监管机制
- js的类型检查
- 检查变量的类型
- 16.log日志
- Android稳定性测试-- Monkey源码分析
- [读书笔记] 代码整洁之道(五)
- jeesite免费视频jeesite视频jeesite教程jeesite免费教程jeesite云盘
- Maven学习---Maven的下载安装
- <C++>_C++的类型检查更严格
- WCF配置文件笔记
- C语言实现顺序表的初始化,插入,删除,查找
- 在myeclipse 10中编辑xml文件时注释方法
- Linux性能分析-top命令
- 【HTML5】用canvas画球
- 【题解】2016.12.3FJNU2016-2017学年第二十届低年级程序设计竞赛(正式赛)题解
- Contest1086 - 哈尔滨理工大学软件学院ACM程序设计全国邀请赛
- 在Tomcat中设置虚拟目录和虚拟主机