博文
走近 STL(转)(2006-08-23 16:18:00)
摘要:
注:这篇文章为介绍了STL的基本概念和算法,而算法是容易遗忘的,故贴在这里,遗忘的时候查阅一下。
走近 STL作者:陶汉军中国石油大学 计算机02-2
本文面向的读者:学习过C++程序设计语言(也就是说学习过Template),但是还没有接触过STL的STL的初学者。这实际上是我学习STL的一篇笔记,老鸟就不用看了。什么是泛型程序设计 我们可以简单的理解为:使用模板的程序设计就是泛型程序设计。就像我们我们可以简单的理解面向对象程序设计就是使用虚函数的程序设计一样。STL是什么 作为一个C++程序设计者,STL是一种不可忽视的技术。Sandard Template Library (STL):标准模板库,更准确的说是 C++ 程序设计语言标准模板库。学习过MFC的人知道,MFC是微软公司创建的 C++ 类库。而与之类似的是 STL 是模板库,只不过 STL 是 ANSI/ISO 标准的一部分,而 MFC 只不过是微软的一个产品而已。也就是说STL是所有C++编译器和所有操作系统平台都支持的一种库,说它是一种库是因为,虽然STL是一种标准,也就是说对所有的编译器来说,提供给C++程序设计者的接口都是一样的。也就是说同一段STL代码在不同编译器和操作系统平台上运行的结果都是相同的,但是底层实现可以是不同的。 令人兴奋的是,STL的使用者并不需要了解它的底层实现。 试想一下,如果我们有一把能打开所有锁的钥匙,那将是多么令人疯狂啊。嘎嘎。这个歪梦我做了20多年鸟。 STL的目的是标准化组件,这样你就不用重新开发它们了。你可以仅仅使用这些现成的组件。STL现在是C++的一部分,因此不用额外安装什么。它被内建在你的编译器之内。为什么我们需要学习STL
STL是 C++的ANSI/ISO 标准的一部分,可以用于所有C++语言编译器和所有平台(Windows/Unix/Linux..)。STL的同一版本在任意硬件配置下都是可用的;
STL 提供了大量的可复用软件组织。例如,程序员再也不用自己设计排序,搜索算法了,这些都已经是STL的一部分了。嘎嘎,有意思吧;
使用STL 的应用程序保证了得到的实现在处理速度和内存利用方面都是高效的,因为STL设计者们已经为我们考虑好了;
使用STL编写的代码更容易修改和阅读,这是当然的......
北大牛人唐翔(转)(2006-08-23 15:09:00)
摘要:
Tag:北大
题记:想必很多人都看过这篇文章吧。我也是很久以前就看过,今天看见篇解释文章,顺便一起转了。比如说,我的老板姜伯驹和王诗宬,一个是两院院士,一个是长江学者,都曾获得过陈省身数学奖。我当然跟他们彼此认识,甚至可以说熟悉。那他们有没有唐翔牛呢?窃以为没有。又比如说,我还是见过几位当代一流数学家的:陈省身、丘成桐、Smale、Atiyah,但他们根本不知道我是何许人,所以他们不能算我认识的人。那他们有没有唐翔牛呢?我觉得不好比较。不光是我觉得不好比较,很多人都有类似的感觉。有一次老谢(这是一个精通数学物理和数论的家伙)说:“二十世纪中国最伟大的三位数学家是陈省身、华罗庚、唐翔。”“不对!”何旭反驳道。这位几个月后将坐在MIT里研究李群的表示论的好吃懒做的不敢吃辣的重庆人意味深长地说道:“应该是唐翔、陈省身、华罗庚。”另外一个需要澄清的概念是“牛”。很多认识唐翔的人都认为,唐翔除了数学牛以外,再没什么长处了。但我这里说的“牛”是把各个方面:数学、物理、化学、语文、外语、泡mm、灌水、切星际……都加到一起。在每个领域中定义一个牛指标,然后把它们生加到一起。我将之称为“综合牛指标”。所谓某甲比某乙牛,就是说某甲的综合牛指标大于某乙的综合牛指标。容易证明,我认识的其他人的综合牛指标都是有限数,但唐翔在数学领域的牛指标是趋于+∞的,而他在别的领域的牛指标至少是非负数,所以唐翔的综合牛指标大于我认识的其他人的综合牛指标,也就是说唐翔是我认识的最牛的人。证毕。--对于一个学数学的人来说,认识唐翔是他的不幸。这个不幸很不幸地降临在了96级数学系除了唐翔以外的师兄师姐们身上,也降临在了97级数学系大部分同仁的身上。我的不幸始于大二下学期。那时我们年级好多人都一窝蜂地去选大三的拓扑课,我也跟着去选,然后就认识了唐翔。唐翔身材魁梧,膀大腰圆,戴眼镜,坐前排,听讲非常认真。看不出来是一个牛人,因为通常牛人都是不大听课的,比如我的偶像Smale,据说大学期间常翘课,而且经常坐在台阶上很深沉地望着夕阳。我们年级有一位mm也选了拓扑课,也总坐在前排,于是乎就经常向唐翔请教问题,没想到两年后这位mm会成为唐翔的gf……当然这位mm跟唐翔大概并不是在拓扑课上认识的,因为两年后这位mm会成为唐翔的gf……当然这位mm跟唐翔大概并不......
梦回我大汉帝国-一个伟大民族最强的辉煌时代(转)(2006-08-23 14:52:00)
摘要:注:此帖转自网易“龙的传人”论坛,原作者为超级汉帝国。 一个民族与帝国曾经拥有过怎样的辉煌,现在又怎样会变得如此卑微。读之让人热血沸腾。
梦回汉朝: 长河悲风...... 有气吞万里如虎的气魄! 这才是真正的汉军气质! 汉军威武........................................ 李白《胡无人》 严风吹霜海草凋,筋干精坚胡马骄。 汉家战士三十万,将军兼领霍(此处粗语删去)姚。 流星白羽腰间插,剑花秋莲光出匣。 天兵照雪下玉关,虏箭如沙射金甲。 云龙风虎尽交回,太白入月敌可摧。 敌可摧,旄头灭,履胡之肠涉胡血。 悬胡青天上,埋胡紫塞傍。 胡无人,汉道昌。
飞将 羽檄起边亭,烽火入咸阳。 征骑屯广武,分兵救朔方。 严秋筋竿劲,虏阵精且强。 天子按剑怒,使者遥相望。 雁行缘石径,鱼贯度飞梁。 箫鼓流汉思,旌甲被胡霜。 残阳 林暗草惊风,将军夜引弓。 平明寻白羽,没在石棱中。
苏轼《江城子·老夫聊发少年狂》 老夫聊发少年狂,左牵黄,右擎苍。 锦帽貂裘,千骑卷平冈。 欲报倾城随太守,亲射虎,看孙郎。 酒酣胸胆尚开张,鬓微霜,又何妨! 持节云中,何日遣冯唐? 会挽雕弓如满月,西北望,射天狼。 暮风 草枯鹰眼疾, 雪尽马蹄轻。 回看射雕处, 千里暮云平。 车战 操吴戈兮披犀甲, 车错毂兮短兵接。 旌蔽日兮敌若云, 矢交坠兮士争先。 火牛 三戍渔阳再渡辽,騂弓在臂剑横腰。 匈奴似若知名姓,休傍阴山更射雕。 猎马千行雁几双,燕然山下碧油幢。 传声漠北单于破,火照旌旗夜受降。 国殇 疾风冲塞起,沙砾自飘扬。 马毛缩如猬,角弓不可张。 时危见臣节,世乱识忠良。 投躯报明主,身死为国殇。 霍去病收复河西 骏马似风飚,鸣鞭出渭桥。 弯弓辞汉月,插羽破天骄。 阵解星芒尽,营空海雾消......
pragma指令简介(转)(2006-08-23 14:40:00)
摘要:
Tag:Win编程
由Thinkboy提供
pragma指令简介在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作.下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!一. message 参数。 message 它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message(“消息文本”) 当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法 #ifdef _X86 #pragma message(“_X86 macro activated!”) #endif 当我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示“_ X86 macro activated!”。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了 二. 另一个使用得比较多的#pragma参数是code_seg。格式如: #pragma code_seg( [ [ { push | pop}, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] ) 该指令用来指定函数在.obj文件中存放的节,观察OBJ文件可以使用VC自带的dumpbin命令行程序,函数在.obj文件中默认的存放节为.text节如果code_seg没有带参数的话,则函数存放在.text节中push (可选参数) 将一个记录放到内部编译器的堆栈中,可选参数可以为一个标识符或者节名pop(可选参数) 将一个记录从堆栈顶端弹出,该记录可以为一个标识符或者节名identifier (可选参数) 当使用push指令时,为压入堆栈的记录指派的一个标识符,当该标识符被删除的时候和其相关的堆栈中的记录将被弹出堆栈 "segment-name" (可选参数) 表示函数存放的节名例如://默认情况下,函数被存放在.text节中void func1() { // st......
vc之pragma宏的简单应用(2006-08-23 14:35:00)
摘要:
整理了一下msdn中关于pragma的一些用法,在此列出我认为是比较有用的一些pragma指令,并加上我的一些说明:
1 The following pragma causes the linker to search for the EMAPI.LIB library while linking. The linker searches first in the current working directory and then in the path specified in the LIB environment variable:
#pragma comment( lib, "emapi" )-----------------------------------------------------------------------2 When the compiler encounters a deprecated symbol, it issues C4995:
void func1(void) {}void func2(void) {}int main() { func1(); func2(); #pragma deprecated(func1, func2) func1(); // C4995 func2(); // C4995}----------------------------------------------------------------------3 The following code fragment uses the message pragma to display a message during compilation:
#if _M_IX86 == 500#pragma message( "Pentium processor build" )#endif--------------------------------------------------------------------......
C/C++头文件一览(2006-08-23 14:34:00)
摘要:
Tag:头文件 C++
C、传统 C++#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <fstream.h> //文件输入/输出#include <iomanip.h> //参数化输入/输出#include <iostream.h> //数据流输入/输出#include <limits.h> //定义各种数据类型最值常量#include <locale.h> //定义本地化函数#include <math.h> //定义数学函数#include <stdio.h> //定义输入/输出函数#include <stdlib.h> //定义杂项函数及内存分配函数#include <string.h> //字符串处理#include <strstrea.h> //基于数组的输入/输出#include <time.h> //定义关于时间的函数#include <wchar.h> //宽字符处理及输入/输出#include <wctype.h> //宽字符分类//////////////////////////////////////////////////////////////////////////标准 C++ (同上的不再注释)#include <algorithm> //STL 通用算法#include <bitset> //STL 位集容器#include <cctype>#include <cerrno>#include <clocale>#include <cmath>#include <complex> //复数类......
[传记]暴雪风云录(转)(2006-08-22 19:25:00)
摘要:
[引子]
早饭后,弗兰克.罗伯兹像往常一样一路小跑的来到自己的邮箱前去收取自己的信件。这次他依旧是满载而归,顺手拆开了其中的一封,是一位出版商写给他的。
“我知道也许我犯了错,也许是十年以来最大的错,但是,我仍然要拒绝你的作品。”
罗伯兹手里捏着这张信纸,茫然的站在院子中,他不知道还是不是应该拆开剩下的信,就像被相恋多年的女友突然之间抛弃在舞会上一样,罗伯兹的大脑不听使唤的僵在了那里,下面,该怎么办?
这是一部花费了自己七年心血的作品,为了这部作品,他甚至花费了整整六年的时间去研究自己根本不曾接触过的阿拉伯文明。为了这部作品,他甚至还放弃了自己在大学中所学的专业。但是罗伯兹没有想到的是多年的辛劳换来的竟然是这样的结果,但是为了这部作品,他不能放弃。等待是需要耐心的,在等到第十三个出版商的时候,罗伯兹终于等到了自己想要的结果,他的作品出版了。
这部作品就是日后风靡于欧美的科幻小说《沙丘魔堡》。但是罗伯兹更不会想到的是在四十年后,世界上的任何的一个人都能够随意的掌握他所创造出来的这个荒凉、神秘的外星世界。个中的缘由,还得让我们从八十年代说起。
[暴雪到来之前的故事]
拉斯维加斯,一个游戏金钱的地方,当150多年前美国摩门教徒们创建这所城市的时候他们也许根本就不会想到,就是这样一个建立在沙漠中的城市,最终会成为一个让全世界瞩目的地方。赌博的巨大刺激吸引着来自世界各地的人们来此一试手气,同样也吸引着世界各地的富商来此谋筹财路。
拉斯维加斯街景
一位名叫布莱特.W.斯帕里(Brett W Sperry)的年轻人就生活在这座城市之中,在被一家教育公司扫地出门之后,斯帕里开始了自己游荡的生活,最终,他凭借自己在计算机方面的特长,和一家名为Epyx的公司签订了合同,为他们开发一款名为《Dragonfire》的计算机游戏。但是穷困潦倒的斯帕里在工作的最后关头遇到了麻烦,在他需要为发行商打印最终成果的时候他发现就是拿出自己所有的积蓄也换不来一台最普通的打印机。
他找到了自己的朋友,在“23世纪计算机”商店打工的路易斯.卡塞尔(Louis Castle)。这是一间内华达最古老的计算机商店,只有在这里你才能买到Macintosh。当时的卡塞尔拥有着一台点阵式的打印机,这就是斯帕里最需要的。接下来的时......
[文章]张怀旧:刘翔没有文化(转)(2006-08-22 19:24:00)
摘要:
刘翔没有文化 文/张怀旧 2006.7.14 今天我想谈两个问题:1、刘翔没有文化;2、国人智商低下 一、刘翔没有文化 八三年我从乡下进城上小学一年级,第一次参加了校春季田径运动会,获得了60米短跑与100米短跑项目的第一名,全班同学都惊呆了,——怎么农村来的野孩子那么能跑?我知道他们是瞧不起我们农村人的,于是他们就嘲笑我的学习成绩不好。老师也把我安排在教室的最后一排,虽然我的个子很矮,但我是个农村人,所以我只能坐在最后一排。我暗暗下定决心,不但跑得要比他们快,而且学习成绩也丝毫不能落后。后来第二学期的期末考试,我考了“双百分”,从那以后再也没有人瞧不起我了,那些城里的孩子没事总爱巴结我,还从家里偷了零食带到学校送给我吃,女同学有事没事也总爱跟我搭讪。 二、三年级的时候,我学习成绩依然很好,每年春秋两季的校田径运动会我必定参加,那两个短跑项目的“冠军”我一直“蝉联”了三年,为班级争了不少光,同学们爱戴我,老师们宠爱我。到了三年级,果然有个叫“教练”的人找到了我,让我进了田径队。八十年代的学生一个星期要上六天课的,只有星期日休息一天。自从我进了田径队,我就改上五天课了,每到星期六星期日我就被教练带到县体育场炼跑步、高台腿、仰卧起坐,与我一起的人很多,有男有女,跟我差不多大。远离了课堂,疲惫的我没有力气完成老师布置的家庭作业,成绩一天不如一天,我不知道我做的是对还是错。直到有一天,在课堂上,老师让我站起来大声读出黑板上写在田字格里的一个大字,一个在嘴边的字,一个很熟悉的字,我竟然不认识了。于是我被全班同学讥笑了,老师说:“张怀旧你怎么了?你还想不想念书了?”我说:“我这些日子不是一直在跑步吗,所以就耽误了学习。”老师又说:“你跑什么跑?你还真想当世界冠军啊?”我反驳道:“又不是我要跑,是你们让我跑的”。 “啪”的一个耳光就过来了,老师说:“你学会了顶嘴?我还没有见过那么不尊重老师的学生。今天我告诉你张怀旧,只有没本事读书的人才会去跑步!” 那一年是八六年,我三年级,下学期,刚过完了十周岁生日,长辈们都说我长大了,所以我没有躺在母亲的怀里流泪,我也没有告诉我那倔强的爸爸,因为我知道,只有没本事读书的人才会去跑步。 后来我查了字典,那个写在黑板上的字——“育”,应该读着“Yu”,......
[文章]真佩服中国政府,要昏了(转)(2006-08-22 19:17:00)
摘要:
如果是真的,真佩服中国政府,要昏了: 震惊的答案:中国银行和国际接轨,跨行查询收费,接轨的那个国家你绝对想不到。 今天,听到在看电视上专家对备受关注的ATM跨行查询收费的讨论,才知道,美国 绝大多数的银行根本不存在什么所谓的跨行查询收费。美国的绝大多数银行是股份制 银行,这种自己突然规定跨行查询收费的只有在垄断银行才会发生。专家说,如果国 外只要有一个银行实行了跨行查询收费,中国就会以和国际接轨为理由,采用这种方 式。然后他们查阅了很多资料发现,我们周围这些国家,只有唯一一个 巴基斯坦是跨行查询收费的。 看到这里我彻底晕了,原来中国几家银行跨行查询收费的所谓和国际接轨,居然是和巴基斯坦接轨啊。
中国政府制定政策的2大法宝:
有些决策者在制定政策的时候,手里有两套法宝,一套是“中国国情”,一套是“与国际接轨”,当制定不利于人民的政策时,如房改,要求大家自己掏钱购买商品房,就说是和“国际接轨”,理由是,人家外国都是自己买房子,没有福利分房的说法,但与此同时,他们却恰恰忽略了人家外国土地私有这个关键因素,中国人并不拥有土地的所有权,土地都属于国家,却要被迫付出昂贵的价钱购买一套只有使用权的商品房,而当人们对此提出质疑的时候,他们又会说这是中国特殊国情决定的。 又比如医改,教改,人家其他国家是免费医疗,免费义务教育,但这一点他们又不与国际接轨了,又强调中国国情了,什么财力不堪重负啦之类,结果导致大家看不起病,上不起学。 又比如所谓“高薪养廉”,据说是新加......
