IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

周末闲谈:C and C++, why use c++?

C++博客-梁 兄 2009-11-02 21:03:27 累计浏览 4,480 次
本机暂存

      问起c与c++区别,常常从语法上回答,c++是带类的c,再深入可能提到设计方面,面向对象设计支持,范型设计等等。

      问起为什么使用c++?能使用面向对象设计来取代过程式设计,可能是最多的回答;还有就是c++可以写大项目,在控制大系统上有优势。

      以上回答有问题吗?不知道,别人若问我,我也这么回答。

      从2月份开始,一直在开发网络行为审计系统高性能版,我们也叫大流量版本。是在以前普通版上进行重新设计,采用分布式、多进程、多线程来最大化利用memory、CPU,提高系统吞吐量。

      在架构设计确定以后,就是进行详细设计和开发,因为有普通版,当然是进行重构或重写。普通版也是使用c++编写的,g++编译,我使用VIM开发。

      设计风格呢?有class无OO设计,还是个过程式的东西----这种风格太常见了,大文件、大函数、废代码成堆出现,不安全的指针操作,忘记资源释放等等。

      这种现象我在所工作几家公司都发现了,让我头痛,也让我练就了一手好的重构技术,现在基本上面对这种代码,我能处乱不惊了。

      ----这种现象,让维护成本成倍增加以至于系统腐烂。是c的错,还是c++的错?是面向过程的错?还是面向对象的错?

      开发语言没有错,用c开发,我既可以进行过程式设计,也可以进行面向对象设计,即结构体+函数指针来表达类,函数指针来表达多态等。

      设计风格没有错,其实不管面向过程设计还是面向对象设计,系统架构设计、模块化首先要做好,对功能内聚性理解要清楚;不然,时髦的面向对象设计也没有什么用。

      现实中,我们所设计的类,不会是图形Shape与圆,马与白马关系那么简单,你不可能很容易得出一个唯一的设计答案。

       why use c++? 我感觉最简单的答案就是公司已经用它,那进公司就得用它,没有那么多废话,这就是最最简单的管理----服从。

      用了c++就能写出好系统、大系统吗?不能。语言解决不了设计人员和开发人员本身素质问题。

同分类推荐文章

  1. 科技爱好者周刊(第 401 期):如何赚到10亿美元 (2026-06-26 08:05:38)
  2. 如何做决策 - 从 Go 的一个 issue 说起 (2026-06-26 08:00:00)
  3. Seven Player:Windows上播放115网盘视频的增强工具 (2026-06-09 00:06:47)

查看更多 开发者 文章 →

建议继续学习

  1. 如何学好C++语言 (累计阅读 10,444)
  2. Emacs配置C/C++-mode的代码智能提示和自动补全 (累计阅读 10,408)
  3. colortail,让 tail 命令绚丽起来 (累计阅读 10,257)
  4. 在C++中实现foreach循环,比for_each更简洁! (累计阅读 9,497)
  5. 几个内存相关面试题(c/c++) (累计阅读 9,442)
  6. 关于使用STL的红黑树map还是hashmap的问题 (累计阅读 8,871)
  7. 浅析C++多线程内存模型 (累计阅读 8,798)
  8. C++ 多线程编程总结 (累计阅读 8,095)
  9. 使用gdb调试运行时的程序小技巧 (累计阅读 7,205)
  10. 在C++里写一个不能被继承的类 (累计阅读 6,579)