从C语言到C++,到底++了哪些东西?
零散的知识点不谈,常用的主要有这些。
首先,C++里面多了类和对象的概念。
毕竟C语言面向过程,C++面向对象。
如果你不知道什么是类,什么是对象,可以简单的把类理解成C语言里面的结构体,对象理解成结构体变量,只是C++在这基础上又添加了很多东西。
有了对象的概念,如何产生对象?
我们经常会new一个对象。
new和delete是C++里面新增的两个关键字,他俩的作用可以对飙C语言里面的malloc和free。
第二个,命名空间。
由于大部分C++的项目代码量比较大,为了防止编码的时候命名冲突,C++提出了命名空间的概念,一个命名空间就是一个作用域,不同的作用域里面即使命名冲突也不影响,常见关键字:usingnamespace。
第三个,引用。
引用的出现很多时候可以代替指针,比如函数传参,引用相当于是变量的第二个名字,用起来比指针要简单一些。
第三个,继承和多态,这也是面向对象的两大特征。
在C++里面,一个类可以继承另一个类,原来的类称为基类,产生的新类称为派生类,这种关系叫做继承。
继承可以大大提升代码的可重用性。
第四个,模板。
比如我们在C语言里面写的链表,即使用上了typedef,也只能让链表保存一些标准数据类型,如果这个类型是个结构体,那整个代码就要全部重写。
C++里面的模板就很好的解决了这个问题,正是因为有了模板,才有了后面的STL。
第五个,运算符重载。
这个我们在前面的视频里面也有讲过,C语言里面不支持相同类型结构体的相加、比较等操作,但是有了运算符重载,我们可以给他制定规则。
结果就是代码看起来更加人性化一些。
最后一个,就是STL,翻译过来是标准模板库,你可以理解成它是C++里面的数据结构。
像常见的链表、栈、队列、数组、二叉树等等在STL里面都已经实现好,你只要去调用它的接口就行。
有人说C++很难,有人说C++简单,我觉得都有道理。
C++为了让写代码更加人性化,做了大量的封装,如果你只是用它来编程,不考虑它的实现,确实很简单。但是如果你想深入研究它的实现机制,你会发现,C++的代码非常多。
以上就是本次分享的全部内容,想学习更多编程技巧,欢迎持续