C++ Primer阅读笔记:关键概念解析
需积分: 0 36 浏览量
更新于2024-12-31
收藏 54KB DOC 举报
"《C++Primer》阅读笔记"
这篇笔记涵盖了C++编程语言的一些核心概念,主要来自于《C++Primer》这本书。以下是对笔记中提到知识点的详细解释:
1. **浮点数类型**: 在C++中,`double`类型的浮点数通常比`float`具有更高的精度,且在某些硬件上,`double`的计算速度可能更快。
2. **八进制表示**: 以0开头的整数字面值是八进制表示,例如`020`表示十进制中的16。
3. **宽字符**: `wchar_t`类型用于存储宽字符,前缀`L`用于创建宽字符字面值,如`L'a'`。
4. **左值与右值**: 左值是可以赋值的表达式,比如变量;右值则不能赋值,但可以参与运算。左值可以出现在赋值运算符的两边,而右值只能出现在右边。
5. **初始化与赋值**: 在C++中,`int i = 5;`是初始化,而`i = 5;`是赋值。初始化是在声明时进行的,而赋值可以在任何时候进行。
6. **内置类型变量的默认初始化**: 内置类型(如`int`)在函数外部定义且未初始化时,会自动初始化为0。
7. **魔数(Magic Number)**: 魔数是指没有明确含义的常数,使用`const`关键字定义可以提高代码可读性,例如`const int bufSize = 512;`。
8. **const变量的访问性**: `const`变量如果未声明为`extern`,则不能在其他源文件中访问,这允许在头文件中定义`const`变量供多处使用。
9. **const引用与右值**: `const`引用可以绑定到右值,如`const int &r = a + b;`,这使得临时对象可以通过引用被持久化。
10. **struct的作用**: 在C++中,`struct`不仅可以用来定义结构体,也可以定义类。
11. **头文件的使用规则**: 头文件应避免包含变量或函数的定义,只应包含类声明、`const`对象和`inline`函数。
12. **指针的定义**: 单独的声明如`char *p1, p2;`中,只有`p1`是定义为指针,`p2`不是。每行应只定义一个指针以避免混淆。
13. **typedef的使用**: `typedef`不是简单的文本替换。例如,`typedef string *pstr;`定义了一个指向`string`的指针类型,`const pstr cstr;`相当于`string *const cstr;`,而不是`const string *cstr;`。
14. **strlen()函数**: `strlen()`计算C风格字符串的长度,不包括结束的空字符`\0`。例如,`strlen("hello")`返回5。
15. **string类的c_str()函数**: `string`对象的`c_str()`方法返回C风格字符串的指针。当原`string`对象发生变化时,通过`c_str()`获取的指针将失效。因此,如果需要持久保存,应复制到新的`string`对象,如`string strc = st2;`
这些笔记点涵盖了C++中的基本类型、常量、指针、引用、字符串操作等基础概念,对于学习C++的初学者非常有价值。
1009 浏览量
130 浏览量
206 浏览量
788 浏览量
685 浏览量
232 浏览量
242 浏览量
209 浏览量
341 浏览量
s20081216
- 粉丝: 0
- 资源: 2
最新资源
- D类功率放大器毕业设计
- Oracle 编程自编教程
- productive_programmer_minibook_infoq.pdf
- 足球比赛机器人设计(毕业设计)
- ITO薄膜性能及制成技术的发展
- Eclipse入门-- Eclipse的使用简介及插件开发
- C++标准类库pdf
- windows域控制器建立教程
- 基于web的网上书店演示文稿
- Getting-Started-with-Grails-Chinese
- 网页常用javascript脚本
- 09年最新三级网络考试笔记
- jbpm开发入门指南
- pc104 规范 为紧凑型的ISA(PC、PC/AT)总线结构提供了机械和电气规范
- 很有用的信息安全试卷 包括答案
- SAP ALV GRID介绍