
C++批判: third edition - 优缺点分析
下载需积分: 0 | 352KB |
更新于2025-01-19
| 185 浏览量 | 举报
收藏
"C++批判(第三版)是Ian Joyner撰写的一本书,该书对C++编程语言进行了深入的分析,旨在探讨其优缺点。作者在书中并未代表其雇主的观点,完全基于个人见解。书中的内容涵盖了编程语言的角色、C++的特定批评等多个方面,对C++的特性和设计进行了批判性的讨论。"
在介绍部分,作者阐述了编程语言的重要作用,包括编程本身、沟通、抽象与精确性、符号表示、工具集成、正确性、类型系统、冗余与检查、封装、安全与礼貌问题、实施与部署考虑等。这些基本概念构成了评价任何编程语言的基础。
针对C++,Joyner提出了多项具体批评:
1. 虚函数:讨论了虚函数在实现多态性时可能带来的复杂性和效率问题。
2. 全局分析:质疑全局变量和全局状态对程序可维护性和测试性的影响。
3. 类型安全链接:分析C++在链接阶段可能出现的类型安全问题。
4. 函数重载:指出函数重载可能导致的混淆和命名冲突。
5. 继承的本质:讨论继承在设计上的挑战,特别是单一继承和多重继承的优缺点。
6. 虚类:讨论了虚类在实现中的复杂性。
7. 模板:指出了模板带来的编译期膨胀和类型安全问题。
8. 名称重载:讨论了名称重载可能导致的代码阅读困难。
9. 内嵌类:分析内嵌类的使用和潜在问题。
10. 全局环境:批评全局环境对代码的耦合度和可移植性。
11. 多态性和继承:探讨了C++中多态性和继承的实现及其潜在问题。
12. 类型转换:讨论了C++的静态和动态类型转换(如C-style类型转换、RTTI)的利弊。
13. '->' 和 '.' 运算符:分析了这两个运算符在面向对象编程中的使用和可能导致的混淆。
14. 类定义中的匿名参数和无名构造函数:提出这些特性可能降低代码的清晰度。
这本书通过这些详细的分析,为读者提供了全面了解C++优缺点的视角,有助于开发者在选择或使用C++时做出更明智的决策。同时,它也反映了90年代编程语言趋势的思考,对于理解当时和现在编程语言设计的演变具有一定的历史价值。
相关推荐







huwei1415
- 粉丝: 1
最新资源
- VC++ DLL编程技术要点全解析
- 同步演示软件:深入浅出数据结构与算法
- EXT 2.0 酒店管理系统:提升酒店信息化管理水平
- Java Web整合开发实战:Struts+Hibernate教程
- 基于VS2005和SQL2005开发的三层架构类QQ聊天程序源码解析
- 个人博客源代码及其管理功能使用教程
- My Eclipse中文基础教程下载指南
- HFS网络共享服务器简易部署与使用指南
- 深入理解ibatis的DTD文件及标签使用指南
- C#实现滚动字幕功能简易小程序教程
- 全面的CSS2.0+HTML标签文档教程
- Oracle9i数据库管理基础I中文版教程精要
- 计算机基础教学资源:教案、课件与试题集
- 深入探讨VC程序中控件应用的实例分析
- SystemC 2.2.0安装指南:软硬件协同设计利器
- 猫扑DSQ测试版发布,修复先前BUG
- STC51系列单片机程序开发实例
- NIIT历年考试题目集锦:珍藏版在线截屏
- PHP探针搭建指南:多版本兼容与MYSQL测试
- EJB企业级应用技术详解及课件练习指南
- 直接使用编译好的com.bruceeckel.simpletest类文件
- 基于Struts2构建的网上交易平台开发与实现
- 局域网P2P文件传输经典:飞鸽传书VC++源代码解析
- 《Visual+C++.NET编程实例》五十讲配套代码解析