随笔分类 - 读书杂记
摘要:昨天移动硬盘出问题了,原以为啥资料都没了,吓出一身汗。后来搞了很久,终于把文件都恢复在一个个.chk文件夹里面,不过文件都分布在零碎的文件夹内,好在主要的几个目录都集中在若干个.chk里,接着找一些.chk的修复工具,无果。看来只能用最笨的方法的:把移动硬盘里的资料在一个个文件夹里找出来,再分类整理在本地磁盘上,然后把移动硬盘格式化,再把资料拷进去,一百多G的数据,看来需要等待一个漫长的时光了,而在拷贝的过程中电脑又卡得不行。想到 《Windows API》 那本书还没看完,于是从书架拿起,埋头看了进去。 看到一点左右,终于把这边书看完了。相对于 《Windows 核心编程》来说,《Wind.
阅读全文
摘要:昨晚有点睡不着,想起还有些书还没看完,于是,起床把《深入浅出MFC》看完了。 看这本书断断续续也有一个多月了,我看完之后的第一冲动是找本MFC应用的书来深入熟悉熟悉MFC。因为,看这本书的时候,才发现自己的MFC知识是那么的贫乏,总有点力不从心的感觉,以至于很多东西都一看而过,根本进入不了思考的阶段。 这是一本MFC进阶书,前提是你对MFC有相当的熟悉。当对MFC外层应用有足够的经验后,看起这本介绍MFC整体架构和运行原理的书时,才会有那种相见恨晚的感觉。很明显,我感觉到自己对MFC的应用完全没有达到能够通读这边书的程度。下一步计划,熟悉MFC的使用,迫在眉睫了。等熟悉MFC到了一定程度后,.
阅读全文
摘要:1 数组的长度是固定的,而且程序员无法知道一个给定数组的长度。 2 如果要改变数组的长度,只能创建一个更大的新数组,再把原数组的元素逐个复制到新数组空间中去。 3 与使用标准vector类型的程序相比,依赖于内置数组的程序更容易出错而且难以调试。4 在现代C++,数组被严格限制于程序内部使用,只有当性能测试表明使用vector无法达到必要的速度要求时,才使用数组。 5 在用下标访问数组元素时,数组下标的正确类型应该用 size_t 。 6 在使用数组时,必须保证其下标值在正确范围之内。
阅读全文
摘要:每一种容器类型都定义了自己的迭代器类型。 以vector容器为例: vector<int>::iterator iter; 另外,每种容器类型还定义了一种const_iterator的类型,该类型只能用于读取容器内元素,但不能改变其值: for ( vector< string >::const_iterator iter = test.begin() ; iter != test.end(): ++iter) cout<< *iter << end; // 正确 但如果想改变其值: *iter = ""; // 错误 再看c
阅读全文
摘要:string 类型和许多其他库类型都定义了一些配套类型。 通过这些配套类型,库类型的使用就能与机器无关。如string::size_type: string.size()返回的是size_type类型的值,不能把其返回值赋给一个int变量。我们不知道size_type的确切类型,但知道它是unsigned型。其所表示的数值比signed型大得多。为了避免溢出,保存一个string对象size最安全的方法是使用size_type。 另一方面,当使用下标值来获取string中的字符时,如 string a = "test" char c = a[index] index最好也用
阅读全文
摘要:这本书读了四次。 第一次阅读还是在大四时期,那时刚接触DirectX ,书是图书馆借来的,看得时候就有种囫囵吞枣的滋味。 第二次,毕业后,用一个小师妹的图书证在学校图书馆再次借来这本书,后来在借期快到的时候,匆匆地把书啃完了,觉得十分不过瘾。 于是想自己买书。 先在淘宝上逛,拍了几次复印版或者二手的,由于种种原因,书都没到手。后来偶然一个机会,找到一个卖正版新书的,原价出售,且运费不菲。最后咬咬牙花了近百块终于拿到手了。 于是开始了我第三次阅读之旅。自己的书,可以随意地在上面作笔记了,看得也细心,在持续了很长的一段时间后看完了,受益匪浅。不过始终觉得纸上得来终须浅,于是有了第四次。 这次是一.
阅读全文
摘要:C++就是一个语言联邦。Effective C++ 如是说。C++ 最初的名称是C with Classes。而今天的C++已是个多重范型编程语言,同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式。 C++主要的次语言: C: C++仍然是以C为基础的。 Object-Oriented C++ : 封装、继承、多态、虚函数等面向对象设计的古典守则。Template C++ : 泛型编程部分,其威力强大,带来了崭新的编程规范 TMP (模板元编程) STL : 一个template程序库,对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调。 C++是从四个次语言组成的联邦
阅读全文
摘要:说的是简单的二元数学运算的问题:加减乘除等。 书里是用非C++语言描述的,不过我还是喜欢C++多一点,下面改成了C++版。 操作基类: class Operation: { public: Operation(): m_numA (0), m_numB(0){} virtual double GetResult(){return 0;} void setOperationNum( double numA,double numB ) { m_numA = numA; m_numB = numB; } private: double m_numA; double m_numB; }; 加法类: .
阅读全文
摘要:还是读大三大四的时候了。那阵子想看看设计模式方面的书籍,但在图书馆借来的书却难懂得要命,看来不适合初学者玩玩啊。于是乎上网找到了这本书,在当当网买了回来。刚把书拿到手那阵子,煞是疯狂了一阵,书的内容简单易懂,情节风趣幽默风趣,于是很快把书看完了。不过只是看完一遍而已,却没有认真总结实践过。时隔两三年,对这本书的记忆只停留在故事情节上了,至于啥模式不模式的,只剩下个模模糊糊的印象。现在再读起这本书,依然觉得不错。在此分享再读此书的思想点滴。
阅读全文
摘要:变量的定义用于为变量分配存储空间,还可以为变量指定初始值,变量有且仅有一个定义。声明用于向程序表明变量的类型和名字。定义也是声明。可以通过extern关键字声明变量名而不定义它。extern int i; 不是定义,不会分配存储空间。变量可以声明多次。当声明也是定义时,声明才可以有初始化式。extern int i = 1; 可被当作是定义,分配并初始化了存储空间。double i;//error 随后的该变量定义都是错误的
阅读全文
摘要:c++支持两种初始化变量的形式:复制初始化和直接初始化。怎样去区分?我刚看到的时候也一头雾水。int ival(1024); //复制初始化 int ival = 1024;//直接初始化 原来如此。 另外,在C++中初始化并不是赋值:初始化指创建变量并给它赋初始值,而赋值则是擦除对象的当前值并用新值代替。 在函数体外定义的内置类型变量都初始化为0,在函数体内定义的内置类型变量不进行自动初始化,但都有一个不可预测的值。
阅读全文
摘要:万事开头难,先从main函数开始吧。1 每个C++ 程序必须含有main函数2 操作系统通过调用main函数来执行程序,并且main函数是唯一被操作系统显示调用的函数3 在大多数系统中,main函数的返回值是一个状态指示器,返回0表示成功执行完毕。其他非0返回值均有每个操作系统各自定义的含义。接着想介绍main函数的参数时,却发现看不到相关介绍,正在疑惑之时,看到文中一小提示:7.2.6节将介绍main函数中可定义的其他形参。于是翻到那里:带有参数的main函数:int main(int argc, char *argv[] ){........}也可以表示为:int main(int arg
阅读全文
摘要:终于把这本书完完整整地阅读了一遍。 书中内容涉及技术面之广,知识点之详细,让读者叹为观止,以至很多人认为这只能作为查阅的手册而已。 然而,我终究把它给啃下来了。 这是我目前为止读到的有关C++ 最好的一本书。类似于读过本书的人都会推荐去读一样,这也是我极力推荐的C++必读之物。 一直觉得,看书只看一遍,只能略懂皮毛。再看,能知晓一二。多看,才能深得其意。 好书,需要我们不断去阅读,去思考。每读一次,均会领略到新的知识,新的感悟,新的人生。 开始进行C++ Primer 的第二次阅读之旅,在此分享我的阅读点滴,思想感悟。
阅读全文

浙公网安备 33010602011771号