C Primer中文版第五版笔记.pdf
文本预览下载声明
目 录
前言
第2章 变量和基本类型
第3章 字符串、向量和数组
第4章 表达式
第5章 语句
第6章 函数
第7章 类
本文档使用 看云 构建 - 2 -
前言
前言
前言
去年十一月买的书 ,今年七月才真正从头开始看起。笔者是个懒人 ,但因经济压力大也不得不充点电。一
个人看书颇觉寂寞 ,且缺乏交流也必然会导致理解存在缺陷。毕业已经一年了 ,现在看来学校的作用其实
就是有很多伙伴跟你一块学 ,利于相互交流和进步。偶然发现了国内这个网站 ,即决定把笔记整理一下与
大家分享。目前的内容仅包括该书的第一部分 ,即第1~7章 ,还有部分标出题号的练习的代码尚待补充。
因水平有限 ,请读者发现错误或者疑问留言交流 ,不胜感激。
祝共同进步。
2017年9月2日
本文档使用 看云 构建 - 3 -
第2章 变量和基本类型
第2章 变量和基本类型
第2章 变量和基本类型
2.2.1 变量定义
定义于任何函数之外的变量将被初始化为0。
定义在函数体内部的内置类型变量将不被初始化。
2.2.4 名字的作用域
当作用域操作符 ( )的左侧为空时 ,即视为向全局作用域发出请求获取作用域操作符右侧名字对应的变
量。
2.3.1 引用
除以下两种例外情况 ,其他所有引用的类型都要与之绑定的对象严格匹配 ,而且 ,匹配只能绑定在对象
上 ,而不能与字面值或者某个表达式的计算结果绑定在一起 :
A) 初始化常量引用时允许用任意表达式作为初始值 ;
B) 基类的引用可以绑定到派生类对象上。
2.3.2 指针
除以下两种例外情况 ,其他所有指针的类型都要与它所指向的对象严格匹配 :
A) 允许令一个指向常量的指针指向一个非常量对象 ;
B) 基类的指针可以绑定到派生类对象上。
C++11新标准引入字面值nullptr ,它可被转换成任意其他的指针类型 ,例如可以用来初始化指针。
2.4 const限定符
用extern加以限定 ,可使其能被其他文件使用。
建议 :对于const变量不管是声明还是定义都应该添加extern关键字。
2.4.4 constexpr和常量表达式
constexpr把它所定义的对象置为了顶层const。即用来修饰指针时 ,仅对指针本身有效。
2.5.2 auto类型说明符
auto一般会忽略掉顶层const ,而保留底层const。
2.5.3 decltype类型指示符
本文档使用 看云 构建 - 4 -
第2章 变量和基本类型
decltype不会忽略顶层const和引用 。
如果表达式的内容是解引用指针 ,则decltype将得到引用类型。
decltype((variable)) 得到的结果一定是引用。
/* 练习2.37 —— 赋值表达式会生成引用类型 */
int a 3, b 4;
decltype(a b) d a;//此处d是a的引用
2.6.3 编写自己的头文件
预处理变量无视c++语言中关于作用域的规则。
本文档使用 看云 构建 - 5 -
第3章 字符串、向量和数组
第3章 字符串、向量和数组
第3章 字符串、向量和数组
3.1 命名空间的using声明
头文件不应包含using声明。
3.2.2 string对象上的操作
在执行读取操作时 ,string对象会自动忽略开头的空白 (不可见字符 )并从第一个可见字符开始读起 ,直
到遇见下一处空白为止。
3.3.2 向vector对象中添加元素
范围for语句体内不应改变其所遍历序列的大小。
3.3.3 其他vector操作
vector对象 (以及string对象 )的下标运算符可用于访问已存在的元素 ,而不能用于添加元素。
3.4.1 使用迭代器
为了专门得到const_iterator类型的返回值 ,C++11新标准引入了两个新函数 ,分别是cb
显示全部