目录
C++和C的机制区别
开辟空间的new和malloc
- new是类型安全的,而C中的malloc不是,如下面代码
作为简单函数的inline和宏定义
- 内联函数和宏定义都是在编译的时候替换代码
- 内联函数的调用是传参,宏定义是简单的文本替换
- 内联函数inline是在程序运行时调用,而宏定义define在程序编译时调用,
- 内联函数inline具有类型检测,是类型安全的
在C++中,允许重载
C++允许有相同的函数名,不过它们的参数类型不能完全相同,这样这些函数就可以相互区别开来。而这在C语言中是不允许的。也就是C++可以重载,C语言不允许。
宏定义和typedef
- 二者都可以做别名的配置
- 宏替换发生在编译之前(也就是预处理阶段的文本替换,简单的文本替换—可能会导致出错,如所用变量名的变量发生改变),typedef发生在编译阶段,是语言编译过程的一部分,但是并不分配内存空间。
- 宏不检查类型,typedef会进行类型检查
- 宏不是语句,不用‘
;
’,typedef需要。 - 建议使用typedef
在C++中,除了值和指针之外,新增了引用。
string类的增加
关键字的增加
- bool
- using
- dynamic_cast等四种强制类型转换
- namespace
更新中……