前言:
学了很久c++,总是记不住,感觉编写代码水平总是有欠缺,每每看到大神写的c++,心中总惊叹:秒!为此把c++常用知识梳理,帮助记忆,并期有所提高。
另,限于本人水平问题,如有疑问,感谢各位大神不吝指导,我会不断修改补充更新!提前感谢!
知识点:
- c与c++的区别
内容:
- C是面向过程的语言,而C++是面向对象的。
C是面向过程语言,只能写面向过程代码。而C++是面向对象语言,C++有类和对象,继承,多态三大特性,同时还支持模板,重载,异常处理,另外C++封装了很多数据结构与算法,组成了标准模板库STL,方便用户使用。 另外,C++设计遵循一些规则,兼容C,但也提供了更好的设计原则,具体可看如下链接:
c++设计规则 - C和C++动脉内存管理方式不一样。
C通过malloc和free进行堆内存的分配和释放,C++利用new和delete,需要强调的是这里的堆和数据结构中的堆应该是没什么太大关系的[狗头]。具体的malloc和new的区别,有另一篇文章写的很详细,我就不抄袭别人内容了,链接如下:
new和malloc的区别
以上是我认为C与C++的重要区别,另外还会有其他一些区别:
- C和C++的输入输出方式不一样,C:printf 、scanf,C++:cout、cin。
- C++支持namespace名字空间,用户也可自己定义命名空间,避免名字冲突。
- C++除了指针,增加了引用,(左值和右值)
- C++支持用struct关键字定义结构体,也可以定义类。
- 另外C++提供了const_cast,static_cast,reinterpret_cast和dynamic_cast四种强制类型转换方法,而C只采用()进行。具体的四种转换方法,后续会再专门写一篇文章补充。
结尾:
C++虽然兼容C,但毕竟是两门不同的语言,区别还有很多,欢迎讨论补充!