摘要: 一、概念引入:除了使用下标来访问容器对象的元素外,标准库还提供了另一种访问元素的方法:使用迭代器(Iterators)。迭代器是一种检查容器内元素并遍历元素的数据类型。所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代C++程序更倾向于使用迭代器而不是下标操作访问容器元素,即使对支持下标操作的vector类型也是这样。(即:尽量使用迭代器访问容器元素。)二、困惑——迭代器和迭代器类型最开始的时候容易搞不清楚,原因之一是由于同一个术语iterator往往表示两个不同的事物。一般意义上指的是迭代器的概念;而具体而言时指的则是由容器定义的具体的 阅读全文
posted @ 2013-03-14 14:58 HandsomeDragon 阅读(308) 评论(0) 推荐(0)
摘要: 一、定义的概述 1. 变量的定义用于为变量分配存储空间,还可以为变量指定初始值。 (在一个程序中,变量有且仅有一个定义。) 2. 声明用于向程序表明变量的类型和名字。(程序中变量可以声明多次。) 3. 定义也是声明 —— 当定义变量的同时,我们也就声明了它的类型和名字。二、extern关键字 1. extern 声明变量而不定义它,也不分配存储空间。(事实上,它只是说明变量定义在程序的其他地方。) 2. 不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern: extern int i; // declares but does not define i ... 阅读全文
posted @ 2013-03-11 17:29 HandsomeDragon 阅读(558) 评论(0) 推荐(0)
摘要: 首先看这个就跟没定义一样的定义:像 42 这样的值,在程序中被当作“字面值常量”。>_<|||.... 1. 称之为字面值是因为只能用它的值称呼它,称之为常量是因为它的值不能修改。 2. 每个字面值都有相应的类型,例如:0 是 int 型,3.14159 是 double 型。 (注意:只有内置类型存在字面值,没有类类型的字面值。因此,也没有任何标准库类型的字面值。)一、整型字面值规则 -- Rules for Integer Literals定义字面值整数常量可以使用十进制、八进制和十六进制中的任一种形式来表示,例如,我们能将值 20 定义 20 // decimal 我们通.. 阅读全文
posted @ 2013-03-08 15:16 HandsomeDragon 阅读(686) 评论(0) 推荐(0)
摘要: 写在最前面—— 如果你选择深入学习和运用C 语言,个人感觉最好的还是Linux平台下用vim + gcc完成。 这里的“编程软件”其实是“集成开发环境(IDE)”,集成了三个非常基本的功能:代码编辑,编译和调试。教科书上的VC6.0本科学习的时候在学校都是用VC6.0. 但是,VC6.0与Win 7 的兼容性不怎么样。不过,如果你学C语言只是为了应付考试或者过个级,还是按照教科书上,用VC6.0 吧。。。>_<///轻量又实用的C-FreeC-Free:进入官网它非常轻巧,只有几十M,但是对于新手来说它的功能已经够用了。别看它小,它在语法高亮和代码提示方面一点也不逊色与VC6.0。 阅读全文
posted @ 2013-03-08 10:13 HandsomeDragon 阅读(4207) 评论(0) 推荐(0)
摘要: 1 #include <iostream>2 int main()3 {4 int sum = 0, value;5 while (std::cin >> value)6 sum += value; // equivalent to sum = sum + value7 std::cout << "Sum is: " << sum << std::endl;8 return 0;9 }while的条件,std::cin >> value ,它具有从标准输入读取下一个数并且将读入的值保存在 value 中 阅读全文
posted @ 2013-03-07 13:10 HandsomeDragon 阅读(680) 评论(0) 推荐(0)
摘要: 本文多数内容源自CoolShell.com 和 norvig.com只是在此做了摘要和精简。^_^乔叟(Chaucer,英国诗人,1340-1400)曾抱怨说:“生命如此短暂,掌握技艺却要如此长久。”the lyf so short, the craft so long to lerne.——前言请务必记住在“计算机科学”这个词组里包含的“计算机”这个词。最好了解你的计算机执行一条指令要多长时间,从内存中取一个word要多长时间(包括缓存命中和未命中的情况),从磁盘上读取连续的数据要多长时间,定位到磁盘上的新位置又要多长时间等。Approximate timing for various op 阅读全文
posted @ 2012-07-01 10:45 HandsomeDragon 阅读(900) 评论(0) 推荐(0)
摘要: 不多说废话,直接上代码。 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 //定义节点类型,不带头结点: 5 typedef struct Node 6 { 7 int data; 8 struct Node *next; 9 }LNode; 10 11 /** 创建链表, 12 * 从终端接收数据,使用尾部插入法完成。 13 * 成功返回1,失败返回0 14 **/ 15 int creatList(LNode *h) 16 { 17 LNode *t,*p; 18 c... 阅读全文
posted @ 2012-06-30 19:17 HandsomeDragon 阅读(305) 评论(0) 推荐(0)
摘要: 无论是大学计算机相关专业的考试,亦或是各种大小IT公司的笔试面试,只要考C语言(或者C++),有三点是永远的主题——指针,链表,二叉树。今天写下这篇博客,初步研究一下链表,是最简单的链表——单链表。不说废话,action!单链表在定义的时候有两种形式——带头结点的的单链表,不带头结点的单链表.他们在很多操作方面都有区别的,如:1 带头结点的链表,在插入元素的时候我们无需对插入第一个位置考虑很多,它完全可以像普通的插入一样操作。而无头结点的链表,必须的考虑头指针的变动。删除操作亦是如此。2 带头结点的链表初始化,只需定义一个头结点变量,然后对头结点中的元素初始化即可。而无头结点的链表需定义一个节 阅读全文
posted @ 2012-06-30 17:59 HandsomeDragon 阅读(463) 评论(0) 推荐(0)
摘要: 一、首先你要知道,这世界不可能有一个产品对所有人都是完美的。二、Eat Your Own Dogfood!—— 吃自己的狗食! 对应于Platform而言,就是,“先打造出自己使用平台,然后把它用在所有的地方”。三、什么叫“创造力”? 创造力就是 —— 就算是要干一件烂事都能干得那么漂亮那么有创意的能力。四、什么叫“抓狂”? 抓狂就是 —— 以一种沉着老练的不屈不挠的一本正经的精神一点一点把你推向崩溃的边缘。 阅读全文
posted @ 2012-06-24 14:40 HandsomeDragon 阅读(225) 评论(0) 推荐(0)
摘要: 1 /* 用变量a 为例子 */ 2 3 4 1) 一个整型数 5 An integer 6 int a; 7 8 9 2)一个指向整型数的指针 10 A pointer to an integer11 int *a;12 13 14 3)一个指向指针的的指针,它指向的指针是指向一个整型数 15 A pointer to a pointer to an integer16 int **a;17 18 19 4)一个有10 个整型数的数组 20 An array of 10 integers21 int a[10];22 23 24 25 5) 一个有10 个... 阅读全文
posted @ 2012-06-21 19:10 HandsomeDragon 阅读(398) 评论(0) 推荐(0)