【C++基础部分】学过 C 吗?你觉得 C 和 C++ 这两门语言有什么区别呢?

本问题对应文章链接:C++常见面试题整理

回答说明:从面向过程+效率/开发效率+各自的应用场景等说明,就是主要说出自己的理解吧。

共以下 2 个回答

  • Thaddeus 永久会员 2023年9月14日 下午4:14
    1. 面向对象编程:C++是面向对象的语言,同时也可以面向过程;C语言是面向过程的语言。C++具有类、继承、多态和其他面向对象编程的特征,可以更方便地开发并管理复杂的软件项目。
    2. 标准库:C++标准库比C标准库更大,包括更多的容器、算法和其他功能。此外,C++还包含流输入/输出(I/O)库,这使得处理文件和其他I/O任务变得更加容易。
    3. 引用类型:C++具有引用类型,这是一种指向变量的别名。C没有这个概念,并且只能使用指针来访问其他变量的地址。
    4. 重载:C++支持函数重载和运算符重载。
    5. 内存分配:C++ 提供new了内存分配delete操作符和内存释放操作符;C提供malloc()并calloc()用于动态存储器分配的功能,并free()为存储器解除分配。
    6. 命名空间:C++具有命名空间,这是组织代码以避免命名冲突的有效方式。C标准库中没有命名空间。
    7. 默认参数:C++允许在函数定义中指定参数的默认值,如果未传递该参数,则使用默认值。C不支持默认参数。
    8. 应用场景:C++语言适用于更高层次的应用程序开发和大型软件项目;C语言更适用于底层系统编程和嵌入式开发。
    0 赞同 0 条回复
  • mpweixin用户 永久会员 2023年6月30日 下午4:21

    学过C语言。首先说明最关键的点:C语言是一门面向过程的编程语言,而C++是一门面向对象的编程语言。在C语言中,我们并没有较多的对一些“事物”进行抽象和封装,而是将注意力放在解决问题的步骤和过程上,这就是面向过程;而C++编程更加注重了对于对象的抽象和封装。
    虽然说C++是在C语言上的基础上扩展而来的,但是我们要知道C++并不只是C with class这么简单,C++还提供了很多很好使用的特性,比如模板、异常处理、标准库以及一些面向对象的一些属性(封装、继承、多态)。
    在使用的效率上来讲,C与C++在效率上相对于其他语言可能高效。对比两者来说,开发效率主要取决于使用的场景,一般来说C++提供的特性较多,开发效率也会相对较高。
    对于应用场景,C语言主要用于系统级编程或者是与硬件有耦合关系的场景中,包括底层操作系统的场景、嵌入式的场景。C++则由于功能强大,领域更加丰富,游戏开发、服务端编程、框架编程,在大型项目和复杂系统的开发中更为常见。

    0 赞同 0 条回复

# 回答此问题

后才能回答