C到C++的升级(学习笔记)
2017-03-17 17:07
183 查看
一、C++与C的关系
1.C++是C的后代,C++继承了所有C特性。2.C语言带有许多低级语言的特性,C++在C的基础上增加了更多的语法和特性:支持面向对象(最为重要)、类型加强、函数加强、异常处理等。
3.C++的设计目标是运行效率和开发效率的统一
二、C到C++的升级
1.C++更为强调实用性例1 C++中所有变量都可以在需要时再定义,而C语言中变量都必须在作用域开始的位置定义
int c = 0;
for(int i = 0;i < 100;i++)
{
for(int j = 0;j < 100;j++)
{
c = i + j;
}
}
2.C++中支持register关键字以兼容C语言
在C语言中无法获取register变量的地址,C++中可以获取register变量的地址(C++编译器有自己的优化方式)
对于register变量的处理由编译器决定,有单片机裸机编程经历的小伙伴可以看看Keil是怎么处理的。
3.在C语言中,重复定义多个全局变量是合法的,而在C++中是不合法的,C++拒绝这种二义性的做法。
4.struct关键字的加强
C语言中struct定义的是一组变量的集合,struct定义的标识符并不是一种新的类型,而C++中用于定义一个全新的类型
5.C++中所有的标识符必须显示声明类型,而C语言许多默认类型(潜规则)在C++中是不合法的
例2 请问 int f()与 int f(void)的区别,如果有区别,是什么?
答:如果使用C++的编译器编译,没有区别
如果使用C的编译器编译,有区别。前者,为返回值为整型,接受任意参数的函数;后者为返回值为整型的无参数函数。
三、小结
1.C++比C更加严谨和实用2.C++中的register只是起一个兼容的作用
3.C++编译器能够更好的优化
4.C++标识符必须显示和指明类型,C++比C更加明了直观。
相关文章推荐
- C++学习笔记5 C++之三目运算符的升级
- C++学习笔记1——C到C++的升级
- C++学习笔记7 C++函数的升级 上
- C++学习笔记3 C语言到C++的升级
- c++学习笔记(3.函数的升级)
- C++学习笔记8 C++函数的升级 下
- c++学习笔记(1.c到c++的升级)
- C++学习笔记(5)
- c++入门学习笔记--类和对象
- unix_c++学习笔记1
- c++学习笔记
- c++学习笔记 2005-9
- C++学习笔记--内存管理
- C++ 学习笔记 I/O流的常用控制符
- 高质量C++/C编程指南学习笔记(上)
- c++入门学习笔记指针篇
- C++学习笔记-类的继承(派生类)
- c++学习笔记(数组)
- C++学习笔记(1)——基类、派生类的对象空间
- C++学习笔记