经典面试题

文章目录

  • 1.C/C++的区别
  • 2.C++的缺陷
  • 3.C/C++屹立不倒的原因

1.C/C++的区别

1.C++是面向对象的,C语言则是面向过程的
2.C++中因为模板的存在,因此能很好的支持泛型,比如STL,就被称作为标准模板库
3.C++提供了一定程度上的资源管理,比如定义一个对象,会自动调用构造函数,出了对象的作用域,会自动调用析构函数

2.C++的缺陷

1.STL之中,容器接口,设计得太过繁琐,很多都不需要,不如string之中的cbegin和cend
2.菱形继承
3.C++继承了C语言一些不好的风格,比如语言的松散型
4.C++设计之初,没有参考,因此需要自己去趟雷
5.以前计算机硬件性能低,因此C++极度追求性能最大化,比如++i比i++的性能要高,但是现在来看这种影响就微乎其微了
6.结合历史时代、设计者的原因,C++并不是那么完美,比如隐藏就可以不需要

3.C/C++屹立不倒的原因

1.历史原因:很多公司以前的代码都是C/C++写的
2.还没有产生可以完全替代C/C++的语言
3.很多的数据库都是C/C++写的

你可能感兴趣的:(随笔)