C++Primer小记

C++Primer小记

ID:37798387

大小:375.84 KB

页数:25页

时间:2019-05-31

C++Primer小记_第1页
C++Primer小记_第2页
C++Primer小记_第3页
C++Primer小记_第4页
C++Primer小记_第5页
资源描述:

《C++Primer小记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.两个迭代器相加减所得到的类型为<>::size_type或<>::difference_type。2.标准库bitset类型size()操作返回类型为size_t,而非bitset::size_type。3.数组下标的正确类型为size_t。4.两个指针相减的结果类型为ptrdiff_t标准库类型,在cstddef头文件中定义。5.注意typedef不是简单的文本扩展。6.string类型的c_str()方法返回的是constchar*类型。7.动态创建对象的初始化:P150。8.switch(i

2、ntI=XXX)、while(intI=XXX)。9.函数的引用形参最好定义成const类型的引用。10.cstdlib头文件定义了主函数返回值EXIT_FAILURE、EXIT_SUCCESS。11.注意不能返回局部变量的引用,并且返回引用的函数返回一个左值。因此,这样的函数可用于任何要求使用左值的地方。12.如果一个函数具有默认实参,那么,它后面所有的形参都必须有默认实参,默认实参只能用来替换函数调用缺少的尾部实参。13.既可以在函数声明也可以在函数定义中指定默认实参。但是,在一个文件中,只能为一

3、个形参指定默认实参一次。通常,应在函数声明中指定默认实参,并将该声明放在合适的头文件中。如果在函数定义的形参表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时,默认实参才是有效的。14.const对象、指向const对象的指针或引用只能用于调用其const成员函数,如果尝试用他们来调用非const成员函数,则是错误的。15.如果函数被声明为const成员函数,那么函数定义时形参表后面也必须有const。16.每一个版本的重载函数都应在同一个作用域中声明,否则内层的函数或变量屏蔽外层的。C

4、++中,名字查找发生在类型检查之前。17.如果程序员需要重用文件流读写多个文件,必须在读另一个文件之前调用clear清除该流的状态。18.容器的比较是基于容器内元素的比较。所有容器都通过比较其元素对来实现关系运算。19.如果容器非空,那么容器类型的front和back成员函数将返回容器内第一个和最后一个元素的引用。20.带有一对迭代器参数的assign()容器操作允许我们将一个容器的元素赋给另一个不同类型的容器。21.关联容器的键类型必须定义<操作符,而且该操作符应能“正确的工作”——严格弱排序。22

5、.对map关联容器迭代器进行解引用时将获得一个pair对象,它的first成员存放键,为const,而second成员存放值。23.使用下标访问map中不存在的元素将导致在map容器中添加一个新的元素,它的键即为该下标值。24.使用迭代器遍历map容器时,迭代器指向的元素按键的升序排列。25.set容器存储的仅仅是键,而没有所关联的值。与map一样,set容器存储的键也必须唯一,而且不能修改。26.set容器不提供下标操作符。为了通过键从set中获取元素,可使用find运算。如果只需简单的判断某个元素

6、是否存在,同样可以使用count运算,返回set中该键对应的元素个数(0或者1)。27.multimap不支持下标运算。并且使用insert总会添加一个元素。带有一个键参数的erase版本将删除拥有该键的所有元素,并返回删除元素的个数。28.关联容器map和set是按顺序存储的,而multimap和multiset也一样,因此,在multimap和multiset容器中,如果某个键对应多个实例,则这些实例在容器中将相邻存放。迭代遍历multimap或multiset容器时,可保证依次返回特定键所关联的

7、所有元素。29.不管成员函数是否在构造函数的初始化列表中显式初始化,类类型的数据成员总是在初始化阶段初始化,初始化发生在计算阶段开始之前。可以认为构造函数分两个阶段进行:(1)初始化阶段;(2)普通的计算阶段。没有默认构造函数的类类型成员,以及const或引用类型成员,不管是哪种类型,都必须在构造函数初始化类表中进行初始化。30.可以用单个实参调用的构造函数定义了从形参类型到该类类型的一个转换。可以通过将构造函数声明为explicit,来防止在需要隐式转换的上下文中使用构造函数。explicit关键字

8、只能用于类内部的构造函数声明上。在类的定义体外部所做的定义上不再重复它。除非有明显的理由想要定义隐式转换,否则,单形参构造函数应该为explicit。31.对于没有定义构造函数并且全部数据成员均为public的类,可以采用与初始化数组元素相同的方式初始化其成员。P39632.友元声明的friend关键字只能出现在类定义的内部,友元声明可以出现在类定义的任何地方:友元不是授予友元关系的那个类的成员,所以他们不受声明出现部分的访问控制的影响。通常,将友元声明

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。