分享
 
 
 

C++ Primer阅读总结(未完!)

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

阅读笔记:

12P: <cassert>头文件,用于测试是否满足条件继续执行程序,保正程序可以正确执行例子看(37P).

23P: class Array;

{

30P: 从‘注意’开始的一段话挺重要;-!

33P: ‘一方面---’,‘另一方面---’,不理解;:-<

34p:对虚拟继承用法的使用说明 :-!

35P:protected && private的区别:希望防止派生类直接访问某成员,则用private;否则用一般可用

protected;

42P: 类模板array<elemType>需要熟练的掌握,学会template和有用的。

46P: 基于异常的设计放下没学,可以考虑和预处理一起学他们都和编译有关的。

50P: 名字空间可以不必总用他,工作时候注意一下就可以了。

}

54P class vector;(容器)

{

54P: 了解Array和vector的实现之间的区别;

学会vector的使用方法;

}

77P: C语言风格的字符串使用的时候常出现的错误,应该在编程时注意(char *p=st; *p++;)

78P: 字符串类型的功能要求和构造;

79P: 学会string的使用方法;

107P: class String;

{

109P: 对于频繁调用的小函数,将其声明为内联(inline)函数有好处。

111P: 别忘了用*this检察所赋的对象是它本身,常忘了的错误;

112P: 又出现了<cassert>的使用;

对 "<<" , ">>"的重载( 重载iostream在20.4和20.5详细讨论。)

}

117P: 子表达式的计算顺序要掌握;( &&, ||, + , -, *, / )

118P: 浮点数不可取余数;

121P: && , ||又提到了计算规则;

128P: _top++和_--top:体现了top++:先将使用当前的值,然后再把它加1.

--top:先将top减1,然后再返回减1后的top值

136P~145P: 位的操作()//待学

146p: 类型转换:

隐式转换:算术转换规则!

210P~267P: 容器的用法:(vector, list, deque, map, set)它们的属性:(insert, pop, push等操作)

容器体现了数据结构的抽象;(如 列表list;)

{

(注意: 对大型的类对象开销太大了,必须用引用!对于传递引用为了不使引用对象被不改变,必须用const保证它不变,只是被用一下。)

282P~289P:参数传递(函数参数的按值传递,引用传递和指针传递;):

1:按值传递,将实参的拷贝操作,函数结束其局部值就消失了。实参的内容不会改变。

它不适合的情况:

(1)大型的类对象必须作参数传递时,开销太大了。

(2)当实参的值必须被修改时。

2:(1)(2)可以用引用和指针传递,可以改变参数的值和它的地址;(用在主调函数返回额外值例如 函数look_up(),传递大型类对象,主意const的应用。)

3:引用和指针用哪一个?

引用必须被初始化为指向一个对象,且一旦初始化了,它就不能再指向其它对象。而指针可以.

(主意:另一方面。)如果一个参数可能在函数中指向不同的对象,或这个参数可能不指向任何对 象(如:为0),则必须使用指针参数。

引用参数的一个重要用法是,它容许在有效的实现重载操作符的同时,还能保证用法的直观性.

289P:数组参数的函数传递:

在C++中,数值和数组永远不会按值传递。它时传递第一个元素的指针。

因为数组被传递为指针,所以这对程序员有两个涵义:

(1)函数调用参数数组直接改变,改变的不是本地拷贝,所以要使实参数组保持不变,

则要保留数组的拷贝。函数可以把数组参数声明为const来表明不希望改变数组元素。

(2)数组长度要成为参数类型的附加条件或将参数声明为数组的引用(还可以使用抽象容器类型), 函数不知道传递给它的数组的实际长度,编泽器也不知道当编译器对实参类型进行参数类型检查时并不检查数组的长度,如:putvalues(int[], int size) 或putvalues(int (&arr)[10])

(3)多维数组参数类型检查检验多维数组实参中除了第一维之外的所有维的长度与参数的是否相同,所以在传递多维数组时应该把除一维以外都要声明它的长度,如:matrix[][ia];

293P:抽象容器类型参数

当容器类型的参数按值传递时容器以及全部元素都被拷贝到被调函数的本地拷贝中因为拷贝的效率非常低所以把容器类型的参数声明为引用参数比较好。

记住: 当一个函数不会修改参数的值时我们把参数声明为const 类型的引用更为合适。

如:void putValues( const vector<int> & )

298P: return:

(1) 按值传递的(passed by value) 这意味着得到控制权的函数将接收返回语句中指定的表 达式的拷贝.

(2) 一个函数可以被声明为返回一个指针或一个引用.如果返回值是一个大型类对象用引用或 指针返回类型比按值返回类对象效率要高得多.如:Matrix& grow( Matrix* p )

{ return *res};

(3) 当声明一个返回引用的函数时,

程序员应当知道下面两个易犯的错误:

<1> 返回一个指向局部对象的引用.局部对象的生命期随函数的结束而结束(局部对象的 生命期将在8.3 节讨论).在函数结束后该引用变成未定义内存的别名.(见例如。)

<2> 函数返回一个左值. 对返回值的任何修改都将改变被返回的实际对象. (见例如)

为防止对引用返回值的无意修改返回值应该被声明为const。

300p:参数和返回值与全局对象的缺点。

}

412P: 函数和类模板

1. 函数模板定义形式及参数:template<类型参数表>返回类型函数名(型参表){};

如:

template<class T1, class T2, class T3> //关键字class表示模板参数代表一个类型,

T1,T2,T3用作参数名。

void input(T1 a, T2 b, t3 c) //这部分和普通函数一样。

2. 类型参数和非类型参数:(class / typename)

如:

template<class Type> class Queue;

Queue<int, 100> Iq;

3. 初始化:

template<class Type=int, int size=1024> class Queue;

Queue<int, 100> Iq1; //类型为:int, size=100;

Queue<int> Iq2; //类型为:int, size=1024;

Queue<> Iq3; //默认int, 默认size=1024;

412P: Type min(Type (&r_array)[size])// 可以设定数组的大小;

507P:友元声明以关键字friend 开头它只能出现在类的声明中由于友元不是授权友谊的类

的成员所以它们不受其在类体中被声明的public private 和protected 区的影响,所以一般只

需把friend声明在public之前即可;

522P: this指针!!!(需要深刻理解)

~~~未完待续!~~~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有