C++ Primer 阅读笔记
Roger-Pang
这个作者很懒,什么都没留下…
展开
-
Chapter 7: Classes(First Part)
这一章介绍类的特性, 不同以往, 我参照课本, 用构造Sales_data类的过程来介绍类的基本特性, 并在下篇介绍类的其他特性. 我会集中关注这样三个问题: 代码这样写是什么意思? 代码这样写行不行? 为什么要从这个版本改进到下一个版本? 首先介绍一下要构造的Sales_data类: Sales_data类用来记录书籍的销售记录, 以及对销售记录进行基本操作. 数据成员包括: str...原创 2018-03-04 15:46:44 · 196 阅读 · 0 评论 -
Chapter 6: Functions
什么是局部对象? 它的的生命周期是怎样的? 形参和在函数体内部定义的变量统称为局部变量, 仅在函数作用域内可见. 其生命周期依赖于定义的方式. 局部对象有两种: 自动对象 当函数执行到对象定义语句(函数内部)时创建该对象, 当执行到对象所在块(其实是对象名的作用域)末尾时销毁该对象. 局部静态对象 当函数执行到对象定义语句(函数内部)时创建该对象, 直到程序终止时销毁该对象. ...原创 2018-03-04 15:45:17 · 133 阅读 · 0 评论 -
Chapter 5: Statements
为什么不要在switch语句内部定义变量? 考虑这样一种情况: 如果我们在switch语句的某个case中定义了一个变量并显示初始化, 而在另一个case中要用到这个变量, 那么当程序执行时跳过了定义变量的case时, 程序报错”变量由case标签跳过”(VS2015实测). 再考虑另一种情况: 如果我们在switch语句的某个case中定义了一个变量但不显式初始化, 而在另一个case中要...原创 2018-03-04 15:42:38 · 181 阅读 · 0 评论 -
Chapter 4: Expressions
优先级 结合律 求值顺序各自的意义 优先级和结合律共同确定了表达式的组合方式, 对于一个复杂的表达式, 高优先级运算符的运算对象相对于低优先级的运算符运算对象先结合在一起, 优先级相同的运算符运算对象依靠结合律来组合. 运算符满足左结合律意味着如果运算符优先级相同, 将按照从左向右的顺序组合运算对象. 6 + 3 * 4 / 2 + 2 // 复杂的表达式 // (1)乘除运算符的优先...原创 2018-03-04 15:42:13 · 135 阅读 · 0 评论 -
Chapter 3: Strings Vectors and Arrays
string类型是怎样比较大小的? 如果两个string对象的长度不同, 而且较短的string对象的每个字符都与较长string对象对应位置上的字符相同, 则较短string对象小于较长对象. 如果两个string对象在某些对应位置上不一致, 则比较第一对相异字符. 当两个string对象长度相等, 所有字符对应相同, 则string对象相等. 使用string类型时要注意的地方 ...原创 2018-03-04 15:41:36 · 178 阅读 · 0 评论 -
Chapter 2: Variables and Basic Types
默认初始化 如果定义变量时未对变量初始化, 变量会被默认初始化, 初始化所用的初始值由变量类型和变量定义的位置共同决定. 定义在任意函数体之外的变量将初始化为0值; 定义在函数体之内的变量将不被初始化; 类类型的初始化由类自己决定(默认构造函数或自定义构造函数). 复合类型的声明与定义 通过基本数据类型, 类型修饰符, 声明符可以声明或定义复合类型 int *ptr = ...原创 2018-03-04 15:41:13 · 236 阅读 · 0 评论