C和C++的比较:
C语言运行效率比C++快
C语言是C++的子集
C++比C语言多了bool数据类型
C输入scanf 输出printf C++输入cin 输出cout
C++有命名空间:namespace []{}
using namespace [];
C++面向过程,也面向对象[封装,继承,多态]
C语言只面向过程
指针 VS 引用
引用是变量的别名,不能只有引用别名,必须要有一个真实的变量与之对应
对引用操作,相当于对原变量操作,直接影响本体
结构体类型引用
指针类型引用
引用做函数参数
#define VS const
const 有数据类型,define没有
const 编译时检查语法错误,define宏定义编译时计算机不检查语法错误
const与基本数据类型,使变量变成常量,无法更改,若更改,编译时不通过。
const与指针类型:int const a = 3; int *p = &a; 指针指向const修饰的变量时,应该是const int const *p = &a;
const与引用
示例:
函数默认值 和 函数重载
C++函数的新特性
默认值必须从右往左依次排列,不能够穿插。
声明时可以加默认值,而定义式不建议加默认值。
在没有实参的时候就使用默认值,否则实参覆盖默认值。
函数重载:在相同的作用域内,用同一函数名定义的多个函数,参数个数或参数类型不同。
内联函数:inline
优点,节省调用的返回值的时间,那么,为什么不在所有地方都使用内联函数?
C++最令人头疼的工作:内存管理
内存本质是计算机资源,有操作系统掌控,我们只能申请和归还。
申请、归还内存资源的过程就是内存管理。
申请内存:new int *p = new int; int *arr = new int[10];
释放内存:delete delete p; delete []arr;
申请内存不一定能够成功:
释放内存需要注意什么: