- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++Prime 4笔记.doc
C++Primer4 笔记
第一章 快速入门
1 std::cin, std::cout, std::endl
??? using namespace std;??? // 使用std命名空间
??? cin para;??? // 从cin流中读取值到para
??? cout para;?? // 将para的值写入到cout流??
??? endl;?? // 换行并刷新与设备相关连的缓冲区
2 注释不可嵌套
??? /*总是以最近的*/作为结束
第一部分 基本语言
第二章 变量和基本类型
1 内置类型
??? bool -? // 我的机器是8位
??? char 8位
??? wchar_t 16位
??? short 16位
??? int 16位??? // 我的机器是32位
??? long 32位
??? float? 6位有效数字?? // 我的机器有7位精度,32位表示
??? double 10位有效数字? // 我的机器有16位精度,64位表示
??? long double 10位有效数字 // 我的机器有16位精度,64位表示
· signed和unsigned的整型
??? 用一个符号位表示符号,因此,同样整型的signed和unsigned版本,前者最大值是后者一半-1
· 整型越界赋值取最大界值的模
· 一般来说,int类型运行代价远远低于long类型。double类型计算代价相对于float可以忽略甚至更快。long double类型提供的精度通常没必要。
2 变量
· 左值:可以出现在赋值语句的两侧,右值:只能出现在赋值语句右边。
· 直接初始化和复制初始化
??? int ival(1024);???? // 直接初始化
??? int ival = 1024;??? // 复制初始化
??? 直接初始化语法更灵活而且效率更高。
??? 复制初始化不同于赋值。_
??? const对象需要在定义时初始化。
· 变量的初始化
??? 内置类型在函数体外都初始化成0,在函数体内不进行自动初始化。
??? 类类型如果有默认构造函数,则在定义变量时会调用默认构造函数;如果没有默认构造函数,定义变量时必须提供显示初始化式。
· 变量的定义和声明
??? 定义为其分配存储空间,有且仅有一次。
??? 声明可以有多次。需要使用extern说明,该变量的定义在程序其他地方。
· 作用域
??? 全局作用域:定义在所有函数外部;
??? 局部作用域:定义在函数局部;
??? 类作用域:共有,保护,私有
??? 语句作用域:在某个语句中可视(如for, while, 但是我的机器上for里面定义的变量作用域在循环体后也能调用,也许是编译器的原因);
??? 作用域嵌套:局部作用域可以屏蔽全局作用域同样名字的变量。
??? const对象默认为文件局部作用域。通过指定const变量为extern,可以在整个程序中可视该const对象。
3 引用
??? 引用是它绑定的对象的另一个名字,const引用指向一个右值,也可以指向一个左值,但并不能修改它。
4 typedef
??? 定义类型别名,简化复杂类型的定义。
5 枚举
??? 一个常量集合。(补充)上限:比enum中最大的元素还要大的,最近的2的N次幂的那个数-1. 如最大元素是120, 则上限是127.
??? 下限是比最小的元素还小的,最近的2的N次幂的那个数+1。
6 类
??? (补充)类通过成员函数(方法)和操作符重载传递消息。
??? 使用struct定义类类型,默认的访问标号是public。
??? 头文件设计:类的定义、extern变量的声明,extern const对象的定义,函数声明。后面还将学到,包括内联函数的定义;加入
??????? #ifndef **_H
??????? #define **_H
??????? // 类声明等
??????? #endif
??? 头文件的引用:
??????? #include iostream // 系统标准头文件,编译器会在预定位置查找
??????? #include mylib.h? // 自定义头文件,编译器从源文件(引用该文件的文件)开始查找
第三章 标准库类型
1 using声明
??? using namespace::name;
??? 这样可以直接使用命名空间内的名字。(类似java中的import java.util.Hashtable;)。
2 string类型
· 初始化
??? string s1;? // 空的string
??? string s2(s1);? // s2初始化为s1的副本
??? string s3(value); // 直
文档评论(0)