- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《CPrimer》1第1部分学习笔记汇总基本语言(01至08章)
《C++ Primer》第一部分学习笔记汇总——基本语言
《C++ Primer》 第1章学习笔记
第01章:快速入门
这一章,书上用了一个例子贯穿每部分的内容,“书店的书本销售情况”(包括销售册数与单价)。
第二节:介绍输入与输出
@ 学习摘录001:
——endl称为操纵符(manipulator),可刷新与设备相关联的缓冲区。
——在刷新缓冲区时,用户可立即看到写入到流中的输出。
——程序员经常在调试过程中插入输出语句,这些语句都应刷新输出流。
摘录有想001:
——这几句让我想起之前自己以及朋友们出现过的错误,当if(!cin)时,只是cin.clear()是不够的,还需要用cin.sync()清空缓冲区或者用while(cin.get() != ‘\n’)continue;提取多余字符。看来以后得多注意输入输出缓冲区了。
第三节:关于注释
@ 学习摘录002:
——当注释多行时,最好能直观指明每一行都是注释。
摘录有想002:
——这让我注意到了之前没怎么注意的问题,看《数据结构与算法分析》的一书上是用了这样的格式的,才发觉原来那书的编译习惯是不错的。
/*
* now, for a example.
* like this.
*/
第四节:控制结构
@ 学习摘录003:
——关于控制结构我想到的是之前《C++ Primer Plus》上提到过,循环(判断条件),条件if(判断条件)都会将括号内的内容转换为bool型作为执行与否的依据的。
@ 学习摘录004:
——编译器能查出的最普通的错误1.语法错误 2.类型错误 3.声明错误
摘录有想004:
——知道编译能检查出错误的话,在编译习惯上有些就可以利用这一点了,可以避免在调试的时候才发现错误了,这也是一个网友跟我说过起的。如:if(i = 1),将其写为if (1 = i)的话就能在编译时检测出自己要写的是if ( 1 == i)了。
第五节:类的简介
@ 学习摘录005:
——什么是成员函数:成员函数是由类定义的函数,有时称为“类方法”(method)
@ 学习摘录006:
——使用类时需注意的三个问题:
——1. 类的名字是什么? 2. 它在哪里定义? 3. 它支持什么操作?
摘录有想006:
——很多同学不明确的一点是第3点,之前我看同学的程序时,问同学你的这个类想要实行什么样的功能时,他自己也答不上。
《C++ Primer》 第02章学习笔记
第02章:变量和基本类型
这一章,主要讲述了常量,变量和一些类型的使用方法,注意事项。
第三节:变量
@ 学习摘录007:
——C++是一门静态类型语言,在编译的时候会作类型检查,静态类型检查能帮助我们更早地发现错误。
摘录有想007:
——静态类型使得编译器必须能识别程序中每个实体的类型。假如没有定义或定义错的时候就能检查出来啦。
@ 学习摘录008:
——左值:lvalue,左值可以出现在赋值语句的左边或右边。
——右值:rvalue,右值只能出现在赋值的右边,不能出现在赋值语句的左边。
——变量是左值,因此可以出现在赋值语句的左边,数字字面是右值,因此不能被赋值。
摘录有想008:
——在我理解中,因为变量可在左也可在右,因此它为左值,而数字则只能出现在右边,因此它为右值。
@ 学习摘录009:
——变量提供了可以操作的有名字的存储区,对象就是内存中具有类型的区域。
摘录有想009:
——例如:int a; class b{}; b c; 这里,a 和c属于对象。
@ 学习摘录010:
——初始化变量不是赋值。
——初始化:指创建变量并给它赋初始值。
——赋值:是擦除对象的当前值并用新值代替。
@ 学习摘录011:
——初始化变量有两种形式。
——1. int ival(1024); // direct-initialization 直接初始化
——2.int ival = 1024; // copy-initialization 复制初始化
@ 学习摘录012:
——复制初始化和直接初始化之间的差别是很微妙的。
——现在我们只需知道,直接初始化的效率更高。
@ 学习摘录013:
——未初始化变量引起的错误难以发现,永远不要依赖未定义行为,使用未初始化的变量是常见的程序错误。虽然许多编译器都至少会提醒不要使用未初始化变量,但是编译器并未被要求去检测未初始化变量的使用。而且,没有一个编译器能检测出所有未初始化变量的使用。
@ 学习摘录014:
——extern声明不是定义,也不分配存储空间。
——事实上,它只是说明变量定义在程序的其他地方。
摘录有想014:
——extern的使用得注意,一个文件里面放定义,另外一个文件里面放声明才可以,上次同学就是犯了这样的错误,没有在另一个文件中声明就想
文档评论(0)