C整理笔记分析
1.C++对C的扩展
1.1类型增强
1.1.1类型检查更严格
C语言中可以把一个const指针赋给一个非const类型的指针。const int a=100;int *p=a;*p=200;不仅编译能通过,而且还可以修改值。
上述那个例子C++中编译就不能通过,除非是const int *p=a;因为C++对类型更严格要求,分析:a是const int 型的,对a取地址,变成const int *型的了。
1.1.2新增布尔类型
C语言中是真假或者用0和非0表示,C++的逻辑有了具体的类型
1.1.3枚举增强
C语言中枚举的本质就是整型,可以用任意整型去复制,C++中是真正的枚举,枚举里面有什么你只能从这里面选,而不能自己去赋值。
1.1.4变量检测性增强
例如C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上
int g_var;
int g_var = 1;
而C++拒绝这样二义性的做法。
1.1.5其他
1.C++中所有的变量和函数都必须有类型,C语言中的默认类型在C++中是不合法的,函数f的返回值是什么类型,参数又是什么类型?函数g可以接受多少个参数?
2.比如三目运算符中,?:,C语言中表达式的返回值是变量的值,不能作为左值,在C++中表达式返回的是变量的本身。当左值的条件:要有内存空间;C++编译器帮助程序员取了一个地址而已。
思考:如何让C中的三目
您可能关注的文档
最近下载
- 2026年卫生系统招聘(职业能力倾向测验)题库200道完整.docx VIP
- 【答案】《学术论文文献阅读与机助汉英翻译》(重庆大学)章节期末慕课答案.docx
- 深培二阶段学习acdl4casco gdcs操作和维护手册.pdf VIP
- 2026年卫生系统招聘(职业能力倾向测验)题库200道含完整答案【名师系列】.docx VIP
- 2026年卫生系统招聘(职业能力倾向测验)题库200道及完整答案【名师系列】.docx VIP
- 煤矿突出及监控相关典型事故案例分析与应急救援.ppt VIP
- 江苏省无锡市2024-2025学年高二下学期期末考试语文试题(含答案).pdf VIP
- 医院感染管理的质量检查与持续改进记录本.doc VIP
- 校外劳动教育实践活动实行方案.docx VIP
- 2026年卫生系统招聘(职业能力倾向测验)题库200道附完整答案【名师系列】.docx VIP
原创力文档

文档评论(0)