• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

C与C++ 的真正区别在哪里?

十万个为什么 空空 2024-4-07 23:52:36 4次浏览

关于问题C 与 C++ 的真正区别在哪里?一共有 2 位热心网友为你解答:

【1】、来自网友【创意思维】的最佳回答:

C 与 C++之间的真正区别包括以下几个方面:

  1. 面向对象编程:C++是一种支持面向对象编程(OOP)的语言,而 C 则是一种过程式编程语言。C++提供类、对象、继承、封装等面向对象的特性,允许开发者使用类和对象来组织和管理代码。
  2. 类型安全:C++对类型的检查更加严格,提供了更多的类型检查机制,如模板和强类型转换。这可以帮助开发者在编译期发现类型错误,减少一些潜在的错误。
  3. 标准库:C++的标准库相比 C 有更丰富的功能和更多的类和函数,例如字符串处理、容器、算法等。这使得开发者在编写代码时能够更方便地使用这些功能,提高开发效率。
  4. 异常处理:C++引入了异常处理机制,允许开发者在程序运行过程中捕获并处理异常情况。这样可以增强程序的健壮性,使得程序出错时能够更加优雅地处理异常情况。
  5. 名字空间(Namespace):C++引入了名字空间的概念,可以帮助开发者组织和管理代码,避免命名冲突。

尽管 C++是在 C 的基础上发展而来的,但它引入了许多新的语言特性和扩展,使得它更适用于大型软件项目、面向对象的开发以及需要高效性能和灵活性的场景。

【2】、来自网友【BWanger 软件开发达人】的最佳回答:

C 与 C++的真正区别,就是面向对象以及类概念的引进。正是因为这两个概念的引进,使得编程变得简单,编程的逻辑变得非常清晰。

C++引进了类 class,使得大型软件开发,可以做到分工协作,组装,调试容易,bug 容易厘清。

用 C 编程很麻烦,首先要用著名的 project 把要编绎的 C,H 文件码一起,一个也不能遗漏。组织起来很麻烦。

C++,用类 class 封装。如,一个大型应用程序,其中有文件及字符编辑界面,可以用一个 CFileEditClass 类,图形描画 CGraphDrawingClass,数据传输类 CCommunicationClass,语法分析 CExplainClass,轨迹计算类 CContuarClass 等等。

每个类是独立的。如 CFileEditClass 类,可以实现应用程序界面中的文件打开、保存、删除、传输、字符编辑等功能。可以安排一个人做。

每个类也是相互可引用的。如在图形描画中,可引用 CFileEditClass 中的文件打开成员,也可用轨迹计算类 CContuarClass 中的轨迹处理成员,生成描画数据。

C++除了可用 C 的 libaray 库函数处,也可用 MFC 的标准类库。MFC 的标准类库容丰富,也很好用,几乎涉及 windows、通讯、网络 IO 内存操作等所有编程要用的函数。

在出现问题时,我们很容易检查出是那个类出了 bug,有针对性地进行检查。

C++的面向对象编程,逻辑非常清楚。保证了多线程之间消息的传输。

面向对象的类封装、继承,是 C++一大革命性的创举。

比如,我们要做六个页面,他们有共同的颜色色调,相同的大小,字体、字号一致等等共性,在 C 语言开发的,写一个公共的函数,来初始化每一个页面。

但对于 C++,有一个更好的方法,那就是构建一个公共的父类,如 CommonPropertySheet,在这个类中,除了以上的共有属性外,还可增加消息的传输,异常的处理等,用来解决各 PropertySheet 之间,以及与 windows 其它线程之间的消息传送,更好地实现多线程之间的数据协同。

C++还有更多的优点,如在字符串处理、通信处理、图像处理等上,更精确。我是 1998 年开始从 C 转到 C++的。我觉得,不论是底层开发,还是 windows 的应用程序开发,只要环境允许,尽量使用 C++类进行软件开发,一定会受益匪浅。

以上就是关于问题【C 与 C++ 的真正区别在哪里?】的全部回答,希望能对大家有所帮助,内容收集于网络仅供参考,如要实行请慎重,任何后果与本站无关!

喜欢 (0)