一级棒(Eachfun)
一级棒 - 文章列表
RSS订阅
  本来不想为这段写读书笔记,不过突然想起十几年前的一件趣事来,还是记下来吧。
  1993年的时候,学校开设了“劳技”课,讲的是BASIC语言。对于当时连电脑都没看过一眼的我们来说,学校开设这样的课,真是让我们无比感动。我至今仍然感谢我的母校,在片面追求升学率、大量缩减副课的全局下,我的母校居然开设了音乐、美术、劳技等一系列副之又副的课。这让我至今难忘。而令一方面,我今天能够在程序界打拼,完全是从那时候开始陪养的兴趣。如果我的高中没有开设这门课,我未必就不进入...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-16 00:23
  关系操作符本身没什么好提的,它们与我们平时身边的逻辑一样,所以不难理解。有两点可以略提一下:
  一、因为ASC字符中没有“≥”这些符号,所以只好用“>=”代替。于是产生了BASIC和C++的两种不同符号集:BASIC用“<>”表示不等于,C++则用“!=”。
  二、程序设计时不能用“if(i<j<k)”这样的写法。...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-15 23:48
  光标题就够让人胆怯的了,又是指针?还指向指针?还指向数组?
  要弄清这个问题,还得从指针的本质说起。
  每次提到指针,我总是要反复提起“指针也是一个变量”,当你对指针本身进行操作时,就是对一个变量进行操作。指针唯一的特点是:它的值是一个内存地址,通过它可以间接寻找到其它变量(或常量)。
  如果光通过它寻找其它变量常量,那倒也不必这么复杂。关键是,找来的数据要进行处理的话,必须知道那个数据的类型。大家都知道int和long是不一样的,...
关键词:编程,C++,VC,MFC,指针,数组 编程园地 - 编程感想 07-14 15:50
  算术操作符是最容易理解的符号了,因这它与平时做的数学是完全相同的规则。就连小学的知识“先乘除后加减”都完全适用。
  不过,就像因为与生活的逻辑完全一样导致易于理解一般,与生活逻辑不一致的问题就比较难以理解了。比如“有9个苹果,3个小朋友分,平均每个小朋友可以分到几个苹果?”,现实中既不可能是-9个苹果,也不可能给-3个小朋友分。而是C/C++中的除法和求余却不得不面对这种情况。它们非但难于理解,而且还有不确定因素。
  引...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-13 21:41
  第五章开始了,看得出来,从这章才真正开始讲解C++的基本内容。没有这里的内容,前四章都是狗屎。
  操作符就是我们平时理解的“运算符”了,不过因为C++是计算机语言,它与我们平时生活有着不一样的逻辑,所以,在我们平时看来简单的“3+4”,到了C++里,就得分成一个操作符和两个操作数了。
  操作符的含义以及它能得到的结果,不仅仅取决于操作符本身,还同时取决于操作数。当初学C语言的时候,发现做除法要用“10/3.0...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-11 01:05
  引用:严格地说,C++中没有多维数组。
  笔记:不只是C++啦,C中就是这样。不过,正因为C++中没有多维数组,而提供了“数组的数组”,所以C/C++在数组使用上更灵活。
  多维数组的定义和使用没什么要多提的,用过就懂了。无非是多一对括号而已。不过,如果把它跟指针一起用,倒是要注意的:二维数组名对应的是“指向指针的指针”,所以,如果要在函数间传递多维数组,指针类型一定要正确:
  inta[3][4];...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-11 00:46
  我晕,本书才讲了个开头,居然讲到new和delete了。我“偷窥”了一下:下一章开始才讲到操作符,而且下章将有专门的一节讲new和delete。看来这里提到它们的目的只是为了说明string这样的类为什么可以自动适应大小。
  new的返回值是一个指针,不过本书暂时没有提到new也会返回NULL的。是的,暂时还不用提内容不够这么复杂的情况。
  引用:在自由存储区中创建的数组对象数组是没有名字的,程序员只能通过其地址间接地访问堆中的对象。...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-11 00:29
  给这篇文章定下这个标题,是因为书中就是这样说的。本书是讲解C++的,所以它推荐读者尽量使用C++的内容,而实际上像我这样从C过来的人,还是习惯于使用C风格的字符串。——我又想起了那句话:“原来我只是一个‘古代’的C++程序员。”(见《数组》一文)
  C语言是用字符数组来做字符串的(当然这个字符数组必需要有一个NULL结尾),因为字符串是如此常用,C语言还专门开发了一套库函数来处理这个特殊的数组。于是,我们进行...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-07 02:00
  指针和数组之间是什么关系呢?书中曰“密切相关”。其实,那简真就是同一回事嘛。用到指针的时候,你未必会用到数组;但是只要你用到数组,你就必要然用到指针(即使你不知道)。
  正是因为指针可以用加或减运算来移动它所指的位置,而且每加一或减一正好移动到相邻一个同类型的变量(不管这个变量占内存是多少),那么我有意将一堆同类型的变量放在一起,拿一个指针指向它们中的第一个,再记住它们的个数,这就成了数组。
  数组用一组方括号来解引用其中的某个成员,这也只是指...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-07 00:55
  指针的初始化与赋值:指针是一个变量,它可以被赋值,也可以被求值。指针可以接受的值只有以下几种:
  1、编译时可求值的0值常量。(必须是0,其实就是NULL啦)
  2、类型匹配的对象的地址。(也就是用&运算符取一个变量的地址)
  3、另一对象末的下一地址。(这种用法主要用在循环里,其实当指针取这个值时,对其所指的内存进行存取往往会导致灾难)
  4、同类型的另一个有效指针(如“p=q;”)。
  其中第1点...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-04 03:19
  指针是C/C++的精华,也是最难的部分。——所有学习C/C++的人都明白这点,当年我初学的时候也是这样。但是,现在再回想指针,我却很难回忆它究竟难在哪儿。应该说这就叫“难者不会,会者不难”吧。“饱汉不知饿汉饥”是有一定的道理的,即使饱汉曾经饿过。
  本书中规中矩地讲解了指针的概念、定义与初始化、操作等。正如上面提到的“饱汉不知饿汉饥”,我似乎很健忘,以至于不记得指针的难点在哪儿了。...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 07-04 02:57
  进入本书第四章,开始讲“数组”了。数组难不难?这不好说。但是数组非常重要这是肯定的,有许多基本的算法就是与数组一起出现的——比如冒泡排序法。而离开了那些算法,数组本身也失去了价值。
  注意:阅读本章时要对“维数”概念加以小心,按平时的理解,“维数”是多维数组中的概念,但是本书中的“维数”指的是元素个数。为了避免干扰,我在阅读笔记中用“个数...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-28 23:59
  第三章就这样结束了,本章介绍了三个标准库类型:string、vector和bitset。
  可惜的是,整个第三章我都是草草读过的。一方面因为它们不属于严格意义上的C++内容,另一方面C时代的东西在不经意间抵触着它们。
  确切地说,它们C时代的那些东西的替代品。它们存在的理由就是它们更优秀。然而优秀是一回事,动不动心又是一回事。
  C语言在类与对象方面的缺失,使C程序员更多地掌握了底层的操作。面对C++标准库中的string和bitset这些东西,C程序员们...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-27 22:44
  每当使用到布尔变量数组时,总是有点心疼。因为布尔变量只需要0和1两种值,然而编译器动辄使用一个字节——甚至四个字节来存放一个布尔变量。面对1/32的使用效率,叫人怎能不心疼?
  要想节约空间也不是没有办法,代价是写更多的代码:用“&”操作将变量的某一个bit取出来,一个字节就可以存放8个布尔变量。但是,这个代价是比较重的,重到足以让程序员望而生畏的地步。
  bitset应运而生,它可以方便地管理一系列的bit位而...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-27 22:22
  迭代器与数据库的相似之处在于end()函数返回值为“指向末元素的下一个”。跟数据记录集的eof这么相似。话说回来,熟练于C/C++的程序员一定不会忘了,利用下标访问数组时用的总是用“半开半闭区间”。就拿“inta[10];for(inti=0;i!=10;i++)”来说,下标为10就可以视为“最后一个元素的下一个”。只是以前不会有这么明显的思考。
  迭代器与指针的相似之处在于它的...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-27 02:29
  对于for语句,我几乎总是这样写的:“for(inti=0;i<Max;i++);”。但是,按本书的说法,我这样写似乎同时犯了两个错误。
  1、本书中写for语句中的第二个表达式(条件表达式)时总是用!=,而不用<。这几天来虽然心里觉得奇怪,但是一直没去思考这里面的含义。本书没有急着告诉我“所以然”,只是提醒我读完本书的第二部分后就会明白。我等着吧:)
  2、我总是觉得用Max这样一个变量去代替某个需要用函数...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-27 01:51
  终于让“类模板”上场了,可惜的是,在本书的第三章,还不能彻底让类模板浮出水面,只能将就着提一下。
  引用:使用类模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。……vector并不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。
  笔记:“vector<int>ivec;”中,“vector<int>”是一个数据类型,C...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-27 01:40
  习惯了VC++的CString类,而此前用的又是C语言,所以,压根没有看一眼string。现在既然书中专门讲它,我就看一看吧。
  定义与初始化:
  strings1;
  strings2(s1);
  strings3("value");
  strings4(n,'c');//由n个c组成的一串
  string对象的输入除了可以“cin>>s1;”以外,还可以将cin...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-26 20:41
  虽然实际工作中绝少用到cin和cout,但是我还是记得要用它们必先“usingnamespacestd;”,至于为什么这样做,三个字:不知道。
  本书从一开头就用到了cin和cout,但是它没有using,而是每一次用到它们都写成“std::cin”和“std::cout”,同时提醒说这两个字名是来自std命名空间的。于是,我似乎明白了“usingnamespacestd;”的作用。...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-26 17:10
  头文件的用处主要是代码重用——重用不仅仅是为了减少工作量,还可以保证每一次重用都是完全相同的内容。
  正因为头文件可以多次重用,所以要防止有些只能出现一次的代码放进头文件中。比如变量的定义只能有一次,声明(含extern且不含初始化)却可以有多次。函数也是。
  引用:一些const对象定义在头文件中。
  笔记:看到这里,总算想通了前面的困惑:为什么const常量的作用域仅为一个文件。正如我前面的估计,const常量是不开劈内存空间的...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-26 10:18
  首次考虑class与struct的关系源自我对类对象占用内存数的观察。我发现VC++6的CString——这么强大的类——它占内存居然是4字节(sizeof(CString)为4)。那时我就认为,类对象仅仅在内存中存放成员变量(《C++Primer》称作“数据成员”)而不存放成员函数。后来,读林锐博士的《高质量C/C++编程指南》时,才看到了比较正规的说法:C++中class与struct没有本质的区别。—...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-26 01:12
  枚举是我向来不太喜欢用的东西,几乎我见过的每本书都是这样介绍枚举的:
  enumweekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};
  我看到这里,总是想:多浪费啊,与其这样,还不如直接用0-6这些数呢。以后要写“weekdayToday=Sunday;”,哪有“intToday=0;”舒服。
  本书似乎早看透了我的心理,于是,讲...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-25 02:41
  长期以来,我一直在疑惑:typedef这个词要它干什么?因为没有它我照样可以完成所有任务。而有了它我反而觉得无法适应。比如“UINTi;”,为什么不写作“unsignedinti;”?本书用简短的三句话告诉我它存在的意义:
  引用:typedef通常被用于以下三种目的:为了隐藏特定类型的实现,更强调使用类型的目的;简化复杂的类型定义,使其更易理解;允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
  笔记:第三...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-25 02:12
  引用是C++的特色,一般用在函数的参数中。按有些书本的说法,叫“普通变量的用法,指针变量的效果”。书中本节没有讲诉引用在函数参数中的用法,只提了“给变量起个别名”这一个用处(毕竟本书才开头)。说实在的,如果撇开函数参数,还真想不到引用有什么用处。
  引用这个概念本身也不难理解(除了对C程序员来说有些不习惯以外),但是引用的符号却增加了理解它的难度,我经常在论坛上看到有初学者对“&”和“*...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-25 02:03
  如果将变量定义放在任何{}的外面,则该变量是全局的,这个规则不适用于const常量。
  以前虽然心里隐隐约约有这个感觉,但是从未正面考虑过这个问题。之所以隐隐约约有此感觉,是因为我认为编译器并不为const常量开劈内存空间。
  我曾经专门做过测试:程序如下:
constinti=5;
int*p;
p=(int*)&i;
cout<<*p<<"\t"<<i<...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-24 02:18
  作用域这个概念是程序员都耳熟能详的知识点。这部分知识我几乎可以跳过,不过我还是认真阅读了相关内容。阅读过程中还是有体会的:
  有无数书本曾经提醒过我:少用(尽量不用)全局变量,多用局部变量。其实,即使是局部变量,也还有作用域大小的,局部变量的作用域也是越小越好。原因自然和少用全局变量一个道理。正如书中所言:“通常把一个对象定义放在它首次使用的地方是一个很好的办法。”
  以往,我使用局部变量总是把它放在函数的开头,表示这些变量在本函数中起作用。唯...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-24 01:17
  extern用来告诉程序:你不用为我的变量开劈内存空间,你只要知道这个变量别处已经声明过了。所以,我总是在程序包含多个CPP文件时才这样用:
  1、在某一个CPP文件中直接定义变量,如inti=0;
  2、其它CPP文件中声明变量,如externinti;
  但是,书中介绍exturn还可以用来定义,如:externdoublepi=3.1416;特点是该extern语句包含变量的初始化。
  我觉得C++标准这样做有些多余,而且增加了出错的可能...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-24 00:51
  intival(1024);//直接初始化
  intival=1024;//复制初始化
  以前的我常用第二种用法,原因很简单:从来没见过第一种用法。直到后来学习了林锐博士的《高质量C/C++编程指南》。
  那本书在讲类的构造时说道:CMyClassb=a;这种形式看起来像赋值,实际上调用的是拷贝构造函数。
  那本书给我的感觉仅仅停留在类变量的初始化中,一直没有过渡到内置变量类型。直到后来,我在用VC++.NET的向导功能编程序时,才发现向导帮我...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-23 21:30
  引用:对象是内存中具有类型的区域。
  笔记:这句话说得很直白,也只有这样面向C++熟练工的书才可以这样说,毕竟初学者不知道内存与变量的关系,或者还没考虑到。  引用:C++还保留了一些词用作各操作符的替代名。这些替代名用于支持某些不支持标准C++操作符号集的字符集。它们也不能用作标识符(此处指变量名,偷猫标)。
  一般的书只提到C++变量名不可以使用关键字,本书还额外提了这样一句,然后列出一个表,有and、bitand、compl、not_eq、or_eq、xor_e...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-23 20:49
《C++Primer》说了,字符常量或字符串常量前加L,表示wchat_t类型,于是我试了一下:
程序如下:
chara="a";
wchar_tb=L"a";
cout<<a<<endl;
cout<<b<<endl;
结果如下:
a
0012FEBC
晕,怎么出现这个结果?
让我再试。
程序如下:...
关键词:C++,MFC,VC,Primer,编程,教程,读书 读书笔记 - C++ Primer 06-23 15:29
1 ... 7 8 9 10 11 12 13 14 15 16 17 18
搜索: 百度搜索 Google搜索
Copyright©2000 - 2008 Eachfun.Com, All Rights Reserved 一级棒网络
苏ICP备05080156号
一级棒建站系统 http://www.eachfun.com 一级棒版权所有,未经许可不得商用!