C 和C+ 有什么区别? C语言和C++有什么区别?如果用一句话来概括的话,那一定是C语言是面向过程的编程,而C+是面向对象的编程。然而,初学者很难理解面向对象的思想。我们直接编码学习C语言的时候,讲到了列表,先设置一个头指针,然后初始化头节点。接下来将数据插入列表中。链表的插入操作也分为几个步骤:首先将指针移动到要插入的位置的上一个位置,然后判断该位置是否合法,然后申请新的节点来调整指针。过程非常繁琐,每一步都需要自己编写代码来实现。效率很低,而且可能存在bug。
但使用C+,当需要使用列表时,只需要一行代码即可创建列表对象。其实这行代码已经完成了刚才C element中list的初始化操作。如果需要向列表中插入数据,直接使用pushback函数即可。显然,C家族的特点就是很多东西别人已经帮你实现了,我们只需要能够调用就可以了。
但学习C+ 并不仅仅停留在调用步骤。你必须明白它是怎么来的。要创建对象,您必须学习成本构造和虚构。列表既可以保存内部类型数据,也可以保存其他类型的数据。你必须学习模板。你还可以根据列表添加自己的函数,所以你必须学习继承和多态。
什么是过程导向?它只需要您自己的一行代码来实现它。什么是面向对象?它意味着用更常规的思维逻辑来解决问题。一般人组装电脑时,都会购买现成的主机、显示器、键盘,很少有人在组装时自己画电路板。
所以他们的优点和缺点也是非常明显的。面向流程的开发效率低,但运行效率高。面向对象应该增加很多机制,让程序员可以更高效地开发。但运行效率确实不如C语言。