Effective C++:从C到C++的习惯转变
需积分: 0 54 浏览量
更新于2024-07-23
收藏 2.47MB PDF 举报
Effective C++ 中文版概述
Effective C++ 中文版是一本经典的 C++ 编程指南,旨在帮助已经具备 C++ 基础的开发者提升自己的编程技能。本书共分为 55 项条款,每个条款都是一个独立的知识点,旨在帮助开发者避免常见的 C++ 编程错误和提高编程效率。
在本书的第一章中,作者讨论了从 C 转向 C++ 的重要性。作者认为,C++ 程序员需要摆脱 C 语言的习惯思维,因为 C++ 提供了更多的选择和可能性。例如,C++ 中的指针可以被引用代替,宏可以被 const 和 inline 替代,等等。
第一个条款:“尽量用 const 和 inline 而不用 #define”
在这个条款中,作者强调了使用 const 和 inline 来定义常量,而不是使用 #define 预处理宏。作者认为,使用 #define 可能会导致编译器无法识别符号名,导致错误信息不明确。例如,使用 #define 将 ASPECT_RATIO 定义为 1.653,编译器将永远无法识别 ASPECT_RATIO 这个符号名,导致错误信息指向 1.653,而不是 ASPECT_RATIO。
解决这个问题的方案很简单:定义一个常量使用 const 关键字,例如:
```c
const double ASPECT_RATIO = 1.653;
```
这可以确保编译器能够正确识别符号名,避免错误信息不明确。
此外,作者还强调了在定义指针常量时需要注意的特殊情况。例如,定义一个基于 char* 的字符串常量时,需要使用两个 const 关键字,例如:
```c
const char* const author = " Effective C++";
```
这可以确保指针所指的类型和指针本身都是常量。
Effective C++ 中文版是一本非常实用的编程指南,旨在帮助开发者避免常见的 C++ 编程错误和提高编程效率。本书涵盖了 C++ 的方方面面,包括指针、引用、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、友元、模板、异常、名字空间等等。通过阅读本书,开发者可以提高自己的编程技能,编写出更加高效、可靠的 C++ 程序。
192 浏览量
106 浏览量
2019-06-09 上传
2018-10-19 上传
2011-01-29 上传
2011-10-10 上传
2010-10-28 上传
2020-02-17 上传
sky_lzm
- 粉丝: 17
- 资源: 11
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍