C/C++教程

面试中常被问到(三)c/c++区别

本文主要是介绍面试中常被问到(三)c/c++区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

c/c++区别

  • c是面向过程的语言,c++是面向对象的语言,现如今都采用面向对象(oop)编程技术,为什么oop语言如此热门呢?

比如像c++语言中,有封装(类及对象),继承和多态机制,此外c++还支持模板,运算符重载,异常处理机制.同时借助STL模板库,实现更为强大的功能

  • c由于面向过程的语言,程序设计也只是简单的面向过程,实现串行,而c++x面向对象的编程语言,可以有自己独特的设计模式,比如经典的单例设计模式

  • 在动态内存管理上,二者也存在一定区别,c通过malloc和free完成,且二者都是c库提供的函数,c++通过new和delet完成,二者都是c++所提供的运算符

  • 在强制类型转换方面,c的强制类型转换使用()进行强转,c++有自己的四种类型转换方式(static_cast,const_cast,reinterpref_cast,dynamic_cast)

  • c/c++在输入输出也有区别,c采用scanf/printf都是youc库提供的函数,而c++采用的cin/cout都是ostream/instream的对象

  • c++支持指针,还支持更为安全的引用,不过在汇编代码中,指针和引用二者作用一致,同时c++还支持带有默认值的函数,函数重载,内联函数

  • c++中struct关键字不仅可以定义结构体,也可以定义类,对此,c++比c多一个类,即多了一个类的作用域,同时c++还支持namespac命名空间,程序员可以自定义新的名字空间作用域,避免全局名字的冲突

  • 由于c++是面向对象的语言,支持类对象,类与类之间的组合,继承,多态等oop设计方式,有很多设计方式可以直接使用(单例模式等),因此在大型软件设计中,都会采用oop技术,可以更好的进行模块化设计,实现高内聚,低耦合

这篇关于面试中常被问到(三)c/c++区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!