11 2013 档案

摘要:1.2 学习C++ 在学习C++时, 最重要的事情就是集中关注概念, 不要迷失在语言的技术细节中。C++支持多种不同的程序设计风格。1.3.2 哲学注记 C语言的基本设计观点: 要求“尽可能地接近机器的”语言,以使机器的所有重要方面都能以一种对程序员相当明显的方式简单而有效地加以处理。 C++是“尽可能接近需要解决的问题”, 这样才能使解决方案中的概念能够直接而紧凑地表达出来。1.6.1 给C程序员的建议 [1] 在C++里几乎不需要用宏。用const或enum定义明显的常量,用inline避免函数调用的额外开销, 用template去刻画一族函数或者类型。用namespace避免名字冲突。 阅读全文
posted @ 2013-11-28 18:01 CJin 阅读(336) 评论(0) 推荐(0)
摘要:前面已经针对了如何做课堂笔记和会议记录现在寻找一种读书的方法,和读书笔记的写法,看是否能提高效率后来觉得下面这个方法有点罗嗦,而且复杂,所以不知道适不适用,看做时间的朋友一书,得知看书和做读书笔记的真谛:就是收集资料,消化资料。把所看的书变成自己的东西,这是从李熬的读书方式得到的启发,瞬间领悟了我应该怎样去读书,读书的目的和方式。我就用针式来收集材料做读书笔记,而不是用博客,博客是写文章,要用到里面的素材。-----------------------------------------------------------------------------------6.29进一步补充:其实 阅读全文
posted @ 2013-11-26 23:43 CJin 阅读(426) 评论(0) 推荐(0)
摘要:尽管C++指针也是迭代器,但用的更多的是容器迭代器。但和将迭代器申明为指针变量不同的是,你可以使用容器类方法来获取迭代器对象。两个典型的容器类方法是begin()和end()。它们在大多数容器中表示整个容器范围。 阅读全文
posted @ 2013-11-23 20:48 CJin 阅读(139) 评论(0) 推荐(0)
摘要:STL的一个主要特性——它不只是能够用于它自己的类类型,而且也能用于任何C或C++类型。#include #include //为了避免和其他头文件冲突, STL的头文件不再使用常规的.h扩展using namespace std;#define SIZE 100int iarray[SIZE];int main(){ iarray[20] = 50; int *ip = find(iarray,iarray+SIZE, 50); if (ip == iarray+SIZE) cout<<"50 not found in array"<<endl; 阅读全文
posted @ 2013-11-23 20:33 CJin 阅读(179) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/articlelist_1633926635_0_1.html 阅读全文
posted @ 2013-11-23 17:36 CJin 阅读(101) 评论(0) 推荐(0)
摘要:C++书单第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美好。如果你准备学,一定要学好,那么我开个书单,应该问题不是甚大。首先肯定要读一读Bjarne Stroustrup的The Design and Evolution of C++,了解一下这个语言的历史。接下来就可以看别的书了,但要不停地回头看这本书,看到你不断地学到的新技术是怎么样一点 阅读全文
posted @ 2013-11-21 23:45 CJin 阅读(463) 评论(0) 推荐(0)
摘要:不知不觉2010年都过了半年了,想来我学C语言已经12个年头了(从1998年开始),用VC++也有11年了,最早使用Turbo C2.0,也学过汇编,后来使用Borland C++3.0、Microsoft C++7.0、VC++5.0、VC++6.0、VS2003、VS2005、VS2008,当然这只是个表面的历程,并不能说明其它的什么,只是个光阴的故事。十多年来,我也被迫用过PowerBuilder、用过Foxpro、甚至用过C#.net,但我始终坚持着VC++不放弃,开始的时候看书学习几乎到了废寝忘食的地步(那时候在大学,除了打游戏就是看书写代码,课程都落下了),在我最艰难的时候,是学习 阅读全文
posted @ 2013-11-21 13:12 CJin 阅读(879) 评论(1) 推荐(1)
摘要:#include #include "Item.h"static Item *q;static int N, head, tail;void QUEUEinit(int maxN){ q = (Item *)malloc((maxN+1)*sizeof(Item)); N = maxN+1; head = N; tail = 0;}int QUEUEempty(){ return (head%N == tail);}void QUEUEput(Item item){ q[tail++] = item; tail = tail%N;}Item QUEUE... 阅读全文
posted @ 2013-11-20 13:14 CJin 阅读(1407) 评论(0) 推荐(0)
摘要:这里就附了一个实现文件#include #include "item.h"static Item *s;static int N;void STACKinit(int maxN){ s = (Item*)malloc(maxN*sizeof(Item)); N = 0;}int STACKempty(){ return N == 0;}void STACKpush(Item item){ s[N++] = item;}Item STACKpop(){ return s[--N];} 阅读全文
posted @ 2013-11-18 23:41 CJin 阅读(562) 评论(0) 推荐(0)
摘要:一 通用数据类型的定义不依赖于对象类型的代码,其中我们使用typedef来制定项的类型.typedef int Item;#define eq(A,B) (A == B)二 接口的定义接口中并不包含如何实现函数的信息,甚至也没有关于任何关于任何运行的信息。p79页重点讲解“接口”,还有就是接口的作用..在接口中明确定义了算法在通用对象上执行所需的操作。这种机制允许我们无需向客户程序提供关于数据表示的任何信息,也就真正给了我们一个真实的ADT。void STACKinit(int);int STACKempty(void);void STACKpush(Item);Item STACKpop() 阅读全文
posted @ 2013-11-18 23:39 CJin 阅读(405) 评论(0) 推荐(0)
摘要:1、VS2010 不显示 最近使用的项目 解决办法菜单 —— 运行—— regedit ——打开下面的键值: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer将 NoRecentDocsHistory 设置为 0 (点击右键修改)2、vs2010中使用的字体及背景设置环境:VS2010 字体:Verdana, 10pt 普通文本背景色:238,239,230 (#E6EFEE)3、 如何显示行号---这个编译器默认是不现实行号的可以通过如下的配置实现基于上面的问题,我们可以做这样的设置:点 阅读全文
posted @ 2013-11-17 18:42 CJin 阅读(186) 评论(0) 推荐(0)
摘要:1、点击Visual Assist X Options2、选择ADvanced->suggestions,在右侧选择Edit VA Snippets3、以添加c++代码注释为例,在左侧的c++选项中,右键选择New,会生成一个名为Untitled的片段编译选项。编辑其中的属性即可,如下图:还有一个在vs中常用的插件是:viemu 阅读全文
posted @ 2013-11-17 00:08 CJin 阅读(336) 评论(0) 推荐(0)
摘要:/*注解: 在处理字符串时, 我们通常使用一个指向包含那个字符串的缓冲区的指针, 如上图, 应为指针要比长度大小可变的字符串自身更容易操纵输入完后: 对于这个程序理解,1. 首先定义了一个用于存储字符串数组的 缓冲区字符串2. a是个字符串指针类型的数组3. a[N]表示了含有N个字符串的指针如果这个文件后缀名写为cpp, 那么编译的时候会出错, 因为CPP 和C的函数的压栈顺序不一样, 所以qsort( particles, n, sizeof( particle ), &cmp );这一行一直没能编译通过,报的错误是error C2664: “qsort” : 不... 阅读全文
posted @ 2013-11-14 23:25 CJin 阅读(9820) 评论(0) 推荐(0)
摘要:#include #include #define N 10000int main(char argc, char* argv[]){ int i, j, t; /* 字符串的最大长度为N, 然后查找p所指向的字符串在a串中出现过的次数 当输入终止符ctrl+z时,终止继续读入 */ char a[N], *p = argv[1]; for (i = 0; i %d\n",i); for (i = 0; a[i] != 0; i++) { for (j = 0; p[j] != 0; j++) ... 阅读全文
posted @ 2013-11-01 23:50 CJin 阅读(1515) 评论(0) 推荐(0)