C++ 优缺点之我见

简介: C++ 优缺点之我见

现在的趋势是多语言混成编程,故本文是针对混合编程。

1,C++优势:

1.1,性能优势。

1.2,可进化性(可复用性),进化出本团队顺手的类库。

2,C++小的优势或疑似优势:

2.1,“万金油”。混合编程时代,“万金油”价值小。


3,C++根本缺点:

难学。新手被指针搞死,中手(约3年工作经验)被stl标准库和模板搞死,高手(约5年工作经验)被boost搞死。由于stl难懂,大量的项目禁用stl。我曾经看了一段20行的stl代码,看了30分钟,发现两行代码(两个for)就可以搞定。csdn有一个真实的案例,某个项目有了较多的boost,那人离职后,项目就费了。请一个boost高手的成本比重写项目还高。

4,缓解的方法:

C++软件工程师进一步分工:

a,新手主要负责界面,只需要会使用指针,无需管理指针。管理指针封装在基础库中。

b,中手老手负责逻辑层。

c,专人负责与数据库打交道。


5,C++非根本缺点:

5.1可理解性差。“难学”引起,其实熟悉stl的人看熟悉stl的人代码很好理解。解决方法:

a,分成若干个库,新手参与的库,禁止或少用stl。

b,stl中的常用功能,重写在一个新库中,此库可理解性最重要。

6,小缺点或不是缺点。

6.1.门槛高。新手无需用到指针管理、内存管理、线程管理,直接用stl的vector或MFC的CArray分配空间。内存管理、线程管理一个产品、项目只需要一个人会,就可以了。

6.2,开发效率低。如果有多年积累的基础库,开发效率反而高。因为这些基础库,是非常适合当前团队的。

6.3,初级程序员易犯错误。初级程序员,只有权限修改少量库(以界面居多)。


相关文章
|
4月前
|
存储 Java 编译器
java和c++的主要区别、各自的优缺点分析、java跨平台的原理的深度解析
java和c++的主要区别、各自的优缺点分析、java跨平台的原理的深度解析
461 0
|
3月前
|
C++ 容器
C++ STL:各类容器的特点和优缺点比较
C++ STL:各类容器的特点、优势、劣势比较
|
4月前
|
缓存 安全 Java
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点(下)
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点
37 7
|
4月前
|
程序员 Linux C语言
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点(上)
从C语言到C++_35(异常)C++异常的使用+异常体系+异常优缺点
30 3
|
4月前
|
存储 安全 C语言
C++中灵活 处理可变参数的多种方式:优缺点、应用场景及示例对比
C++中灵活 处理可变参数的多种方式:优缺点、应用场景及示例对比
104 1
|
4月前
|
存储 程序员 C++
C++容器初始化方式详解:优缺点、性能与应用场景
C++容器初始化方式详解:优缺点、性能与应用场景
84 0
|
10月前
|
程序员 vr&ar C语言
C/C++静态库和动态库的制作、使用、优缺点
C/C++静态库和动态库的制作、使用、优缺点
185 0
|
安全 Oracle Java
浅谈Java、PHP、C++编程的优缺点
Java 、PHP、C++ 编程语言都是非常流行的编程语言,在开发、Web 开发、移动应用开发等领域都有广泛的应用。
163 0
|
编译器 C++ 容器
【C++要笑着学】STL Array | 非类型模板参数 | 模板的特化 | 全特化与半特化 | 模板的优缺点
我们之前讲过C++的模板,考虑到当时还没有将 STL,所以并没有一次性讲完,我们把剩余的部分放到了讲完部分 STL 容器的后面去讲,这样比较方去讲解。比如我们本章我们会通过 STL 的 array 去讲解非类型模板参数。本章还会重点讲解模板的特化,最后简单的探讨一下C++引入模板的优缺点。
157 0
【C++要笑着学】STL Array | 非类型模板参数 | 模板的特化 | 全特化与半特化 | 模板的优缺点
|
算法 编译器 C语言
C++__万能头文件bits/stdc++.h的优缺点
C++__万能头文件bits/stdc++.h的优缺点
338 0