代码改变世界

12 2010 档案

摘要:[科技数学计算7.0].Wolfram.Mathematica.7.0.for.Students.Win32.rar(452.4MB)[科技数学计算7.0].Wolfram.Mathematica.7.0.for.Students.Win32.Keygen.rar(245.1KB)内容简介Wolfram Research发布了Mathematica的第7个版本,它如今能做得已经远超过符号计算。Mathematica 7.0最值得关注的功能是引入了并行计算,可以充分发挥多核处理器的计算能力。 其它的新特性包括与Microsoft Word公式编辑器简单的粘贴整合, 数学对象的即时3D模型,可能是 阅读全文
posted @ 2010-12-24 23:53 Rollen Holt 阅读(7745) 评论(12) 推荐(2)
摘要:前几天有人在 Stack Exchange 上提了一个问题How can a new programmer impress the software engineer (boss)?(作为新手程序员如何给软件工程师出身的老板留下好印象?),Joel Spolsky(Joel on Software 的主人,《软件随想录》的作者) 看到了这个问题,他没有正面回答,而是在下面讲了悲催的程序员阿士顿的故事。我很喜欢这个故事,于是就大概翻译过来分享一下。翻译得很仓促,错误难免,见谅。正文:我告诉过你有关阿士顿的事情吗?阿士顿是一个典型的吃玉米长大的农场男孩,他的父母曾经是嬉皮士,从来没有真正地同心协力 阅读全文
posted @ 2010-12-24 00:23 Rollen Holt 阅读(307) 评论(0) 推荐(0)
摘要:某人用Java搞了一个流体力学的演示:http://grantkot.com/MPM/Liquid.html  不过,这仅仅是个开始。某同学将其发布上了reddit.com,于是,全世界的同学们开始给力了。  Flash的开发者首先不服,搞了个 flash版(带源码):http://wonderfl.net/c/yxe9  看到了Flash版,Javascript+HTML5的同学们也不干了,于是出现HTML5版(带源码):http://www.music.mcgill.ca/~sinclair/content/blog/liquid_simulator_ported_to_canvas  不 阅读全文
posted @ 2010-12-23 13:01 Rollen Holt 阅读(466) 评论(0) 推荐(1)
摘要:这篇文章写的很杂,因为我查阅多方资料,呵呵,也没时间整理,所以大家就当是看意识流的吧。哈哈首先来说说指针的引用如何赋予初值吧,我之前很简单的认为可以这样写,大家看下面的例子:[代码]我一般都是这样写的,哈哈,接下来说说两者在释放内存方面的区别吧,看代码:[代码]实际上你可以想象成 Int*&为 int **,所以内部当然可以修改他的值!但是**和*&,语义上是有区别的,但不少编译器却把两者等同对待,产生的代码是一样的(比如vc,可以disassemble瞧瞧),不过常常有先生指导咱后生在c++里能用&尽量不要用*,呵呵,遵照了便是 。无论你传值还是传指针,函数都会生成一个临时变量, 但传递一个 阅读全文
posted @ 2010-12-23 11:43 Rollen Holt 阅读(318) 评论(0) 推荐(1)
摘要:用代码说话。[代码] 阅读全文
posted @ 2010-12-20 23:48 Rollen Holt 阅读(3092) 评论(0) 推荐(0)
摘要:前几天碰到这个问题,考虑以下代码:class bar{};void foo(const bar&) {}void foo(bar&) {}void main(){foo(bar());}foo(bar())会调用哪个函数?我分别在vc 6.0 sp3, vc.net 7.0和vc.net 7.1 final beta上作了试验,结果很有趣。vc6和vc70的结果一样:在foo(const bar&)和foo(bar&)都存在时,编译器选择foo(bar&),并给出一个level 4警告:"warning C4239: nonstandard extension used : 'argument 阅读全文
posted @ 2010-12-20 22:47 Rollen Holt 阅读(1290) 评论(3) 推荐(0)
摘要:源文档的题目:十年编程——和本文罪魁祸首陈梓瀚一起悼念逝去的十年出自:http://www.cppblog.com/lingjingqiu/archive/2010/12/19/136967.html零程序员,都是习惯从0开始计数的。如果不是陈梓瀚撰写了《10年编程》,我不会想起对一个如此漫长的瞬间,做出一个可能并不是恰如其分的总结。某种意义上来讲,这也算是他“改变了我的人生轨迹”的一种方式吧。壹2000年,终于考上了当地最好的中学,分数不高不低。那会儿对计算机或者是程序,是完全没有什么念想的。在这之前,如果说启蒙,呃,搜肠刮肚一下,也是有的。初中时买的学习机上,有一个QBasic的解释程序。 阅读全文
posted @ 2010-12-20 12:10 Rollen Holt 阅读(582) 评论(0) 推荐(0)
摘要:在 VS2010 中建立一个 c++ 解决方案,打开编辑,然后发现在解决方案的目录下出现 $(SolutionName).sdf 文件,并且非常大,同时还有一个很大的目录 ipch ,让有洁癖的人非常反感(比如本人)怎么办呢?上网搜索发现可以通过选项关闭一些功能来消除这些文件和目录,但是关闭后使用起来非常不爽,例如没有了智能提示;再次上网搜索发现一些人提到事件函数都无法正常添加了;再次查看 Menu / Tools / Options / Text Editor / C/C++ / Advanced 中的选项,发现有一个 Fallback Location 的属性组,通过查看说明,决定修改默认 阅读全文
posted @ 2010-12-17 23:20 Rollen Holt 阅读(432) 评论(1) 推荐(1)
摘要:一. 摘要  首先圣殿骑士很高兴云计算系列能得到大家的关注和支持,这个系列准备了几个月,终于在今天发布第一篇了(由于文章太长,拆成了两篇,这是其中一篇)。在这几个月中通过不断的使用和实践,对云计算总算有了一个较粗浅的认识,所以也希望能够和大家一起分享。在发布这篇文章之前也考虑了很久,因为一开始就讲概念的话,势必会得不到很好的效果,毕竟大家都不太熟悉这个新事物。与其“人云亦云”还不如先来一个简单的实例,所以我就先选择一个实践应用来看到底云计算能给我们带来什么好处,从开发者角度,随着这个概念的引入,究竟它需要做哪些改变才是我们最关心的问题。  本篇文章在安排上大致如下:首先回顾前面的基础知识,这样 阅读全文
posted @ 2010-12-16 22:56 Rollen Holt 阅读(986) 评论(1) 推荐(1)
摘要:Visual Studio越来越丰满了,Visual Studio 2010没有MSDN,没有汉化包就2.18G了,可能有很多.net的程序员或初学人员在抱怨,这么大,都有什么用呀?我在刚学习.net的时候也有这样的问题,慢慢的随着我学习的深入,我越来越明白,其实Visual Studio之所以大,是因为其用处非常多,有非常多的工具集成在这里。其实微软也在着力把与开发相关的工具尽量往.net平台上集中。现在,广泛用作构架的UML,也出现在VS2010中。VS中出现UML是最受构架师们欢迎的,因为他们和开发人员的工具得到了统一(对于VS2010中的UML,是有自己特点的,不是与其他工具中的UML 阅读全文
posted @ 2010-12-16 22:35 Rollen Holt 阅读(3422) 评论(1) 推荐(0)
摘要:昨天在Google图片中输入“程序员”,搜索到的第一张图片是这样的一位平头兄桌上两台笔记本一台台式机。其中的一台中显示是某个论坛的页面【估计正在回答某个问题】、中间那台正在启动Eclipse【要开始写Java程序了】、平头兄的目光此时盯在台式机的显示器上【应该是正在远程或者是某个虚拟机】,旁边还有一本打开的书…图片的名字是“真正的程序员就应该这样”,程序员就应该这样么?是谁规定程序员就应该是这样的,本来是应该四个人做的事情让一个程序员做,难道程序员是四核的?作为程序员中的一份子,我时刻注意对自己好一点。穿着下面两张图片是恶搞程序员的,虽然还没那么夸张,不过确实有那么点意思现在的程序员跟不修边幅 阅读全文
posted @ 2010-12-16 22:21 Rollen Holt 阅读(303) 评论(0) 推荐(1)
摘要:源文档:http://news.cnblogs.com/n/84818/你要面试一个程序员,应该问他什么问题?  有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人。众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章。  如何面试程序员?  阮一峰 整理  一、提问之前的准备  首先,最重要的是,你自己一开始就应该想清楚:1. 需要新员工完成什么样的任务?2. 怎样的人能完成这样的任务?3. 哪些途径和方法可以发现这样的人?  只有明确这些根本性的问题,才能正确高效地完成面试。  二、提问的原则  假定你对上一节的三个问题,已经有了清晰的想法 阅读全文
posted @ 2010-12-16 17:41 Rollen Holt 阅读(290) 评论(0) 推荐(0)
摘要:源文档:http://www.cnblogs.com/zhenjing/archive/2010/10/18/1854020.htmlProblem 1: Is it a loop ? (判断链表是否有环?)  Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link list includes a loop by using O(n) tim 阅读全文
posted @ 2010-12-16 12:56 Rollen Holt 阅读(518) 评论(0) 推荐(1)
摘要:1.在web页面中不论显示器的分辨率的大小是800×600,还是1024×768使得页面都显示在屏幕中间。2.请利用正则表达式验证一个字符串是否为数字串(请用csharp)。3.请用HTML在客户端画出一个5行4列的表格,并用Javascript访问表格第1行的2列的内容4.请用javascript脚本实现弹出无边框窗口显示a.htm页5.运用ASP.NET的输出缓冲来存储动态页面6.本地计算机上有SQL 2000登录密码式 password 请用CSharp 创建与SQL的连接并把Northwind数据库中的sysusers表中的数据读出放入Table数据集。7.请用csharp设计一个算法 阅读全文
posted @ 2010-12-16 12:12 Rollen Holt 阅读(1164) 评论(2) 推荐(1)
摘要:[1]《世界500强面试题》精华,一定要看喔(全)[2] 《世界500强面试题》精华,一定要看喔(全)[3]《世界500强面试题》精华,一定要看喔(全)[4]《世界500强面试题》精华,一定要看喔(全)[5]《世界500强面试题》精华,一定要看喔(全)[6]《世界500强面试题》精华,一定要看喔(全)[7]《世界500强面试题》精华,一定要看喔(全)[8]《世界500强面试题》精华,一定要看喔(全)[9]《世界500强面试题》精华,一定要看喔(全)[10]《世界500强面试题》精华,一定要看喔(全)[11]《世界500强面试题》精华,一定要看喔(全)[12]《世界500强面试题》精华,一定要看 阅读全文
posted @ 2010-12-16 12:11 Rollen Holt 阅读(269) 评论(0) 推荐(1)
摘要:源文档:http://home.cnblogs.com/group/topic/37628.html1、请你自我介绍一下你自己,  回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。  2、你觉得你个性上最大的优点是什么?   阅读全文
posted @ 2010-12-16 12:10 Rollen Holt 阅读(178) 评论(0) 推荐(1)
摘要:本文来源:http://blog.seattleinterviewcoach.com/2009/02/140-google-interview-questions.html(墙)某猎头收集了140多个Google的面试题,都张到他的Blog中了,主要是下面这些职位的,因为被墙,且无任何敏感信息,所以,我原文搬过来了。Product Marketing ManagerProduct ManagerSoftware EngineerSoftware Engineer in TestQuantitative Compensation AnalystEngineering ManagerAdWords 阅读全文
posted @ 2010-12-16 12:01 Rollen Holt 阅读(568) 评论(0) 推荐(1)
摘要:我是一个二流的二本学校的2008界毕业生,计算机科学与技术专业,目前正在深圳求职,到这里已经四天了,工作还没有任何着落,我不知道还要过多久能找到 工作,也不知道以后能不能呆在这里,可就算是走,最少也应该经过一次面试,让我失败一次,我也走的心安理得,可我给好多公司打了电话,在网上发了无数简历 却没有收到一个面试通知。借csdn这块宝地,我来记录一下自己的求职经历,以方便自己以后回想这些日子,也希望给所有和我一样的求职者一些参考,最好也 能得到这里的各位大虾们找工作的真经。下面是我投了无数次却没接到一个大面试通知的简历。个人简历基本信息(略)       教育经历(略)专业水平   1.熟练使用C 阅读全文
posted @ 2010-12-16 00:41 Rollen Holt 阅读(1136) 评论(0) 推荐(0)
摘要:很多在校的大学同学问我们:“我今年还没有到毕业班,但我很想知道,如果将来想申请Google中国工程研究院,现在应该如何让自己做好准备?”下面是Google中国总裁李开复博士和其他一些Google资深的华人工程师给广大同学的建议。(1)练内功。不要只花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目。要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络,离散数学等基础课程学好。不妨试试Donald Knuth的Art of Computer Programming里的题目,如果你能够解决其中的大部分题目,就说明你在算法方面的功力不错了。(2)多实战。通过编程的实 阅读全文
posted @ 2010-12-16 00:41 Rollen Holt 阅读(281) 评论(0) 推荐(0)
摘要:1)不会英语:计算机科学源于美国,重量级的文档都是英文的。不会英语的你只能忍受拙劣的翻译和很大延迟的文档和图书(翻译出来的优秀的文档和图书几乎都是很久以前的出版物)。语言的重要性,实际上体现的是沟通的重要性。据说,当年某些公司在面试的时候,会先让被面试的人选一个与软件开发无关的话题。通过这样的面试环节,了解面试者对生活的一些理解和表达沟通的能力。这里还是要强调一下国内程序员的英语能力。由于软件方面的最好的信息几乎都是英语的,所以良好的英语能力对程序员有很大的帮助。一般来说,在各行各业,最成功的人都是拥有最好信息的人。语言能力的学习,有一句话可以概括:“听说领先,读写跟上”。2)急于求成:什么都 阅读全文
posted @ 2010-12-16 00:40 Rollen Holt 阅读(364) 评论(0) 推荐(1)
摘要:讨论算法和工程哪个更重要,这个问题,其实比争执C++和Java哪个更“好”要用意义的多,对这个问题的理解和阐释,将给大一的计算机专业新生提供很多指点。以往的讨论基本上带有偏见,这回,我以一个ACMer+有两年实际项目开发经验的大三计算机专业学生的身份,试着讨论下这个问题。欢迎拍砖。很多搞算法的人,比如说很多的ACMer,认为做工程搞开发无非是一些API函数的调用而已,没有技术含量。其实不然,这个问题,可以从几个方面来考虑。 第一,单单是调用API函数,就有很多东西需要学习,比如Windows下的TCHAR CString PWSTR wchar_t之类,有什么区别?该如何正确的安全的转换?仅此 阅读全文
posted @ 2010-12-16 00:39 Rollen Holt 阅读(1045) 评论(1) 推荐(1)
摘要:算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学 习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式 阅读全文
posted @ 2010-12-16 00:38 Rollen Holt 阅读(294) 评论(0) 推荐(1)
摘要:八皇后问题是一个古老而著名的问题,它是回溯算法的典型例题。该问题是十九世纪德国著名数学家高斯于1850年提出的:在8行8列的国际象棋棋盘上摆放着 八个皇后。若两个皇后位于同一行、同一列或同一对角线上,则称为它们为互相攻击。在国际象棋中皇后是最强大的棋子,因为它的攻击范围最大,图6-15显示 了一个皇后的攻击范围。图6-15 皇后的攻击范围现在要求使这八个皇后不能相互攻击,即任意两个皇后都不能处于同一行、同一列或同一对角线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的 象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。现代教学中,把八皇后问题当成一个经典 阅读全文
posted @ 2010-12-16 00:36 Rollen Holt 阅读(1316) 评论(0) 推荐(0)
摘要:一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后由系统释放。4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放 阅读全文
posted @ 2010-12-16 00:35 Rollen Holt 阅读(2616) 评论(0) 推荐(0)
摘要:一、红黑树(Red-Black Tree)是二叉搜索树(Binary Search Tree)的一种。二叉搜索树在最坏的情况下可能会变成一个链表(当所有节点按从小到大的顺序依次插入后)。这种低效产生的原因是树没有维持一定的平衡性,要提高搜索效率,就要想办法来维持树左边的平衡,也就是要尽时降低树的高度,可行的做法就是用一些策略在每次修改树的内容之后都调整树的结构,使之满足一定的平衡条件。其中一种满足一定平衡条件而且目前应用广泛的是红黑树。它可以在每一次插入或删除节点之后都会花O(log N)的时间来对树的结构作修改,以保持树的平衡。而红黑树的查找方法与二叉搜索树完全一样,也能够在O(log N) 阅读全文
posted @ 2010-12-16 00:34 Rollen Holt 阅读(2909) 评论(4) 推荐(1)
摘要:代码 阅读全文
posted @ 2010-12-16 00:34 Rollen Holt 阅读(436) 评论(0) 推荐(0)
摘要:原文地址:[答案V0.2版]精选微软等数据结构+算法面试100题[1-20]作者:叛逆年少精选微软等数据结构+算法面试100题--答案公布-------我很享受思考的过程,个人思考的全部结果,都放在了这篇帖子上,[整理]精选微软等数据结构+算法面试100题现在,我要,好好整理下,这篇帖子我已做出来的题目答案 了。展示自己的思考结果,我觉得很骄傲。:)。----------------------------------------------------------2010年 10月18日下午 July--------------------------------1.把二元查找树转变成排序的 阅读全文
posted @ 2010-12-16 00:31 Rollen Holt 阅读(530) 评论(0) 推荐(0)
摘要:原文地址:算法王帖:精选经典的24个算法[3.BFS和DFS优先搜索]作者:叛逆年少算法王帖:精选经典的24个算法[2.Dijkstra算法]算法王帖:精选经典的24个算法[1.A*搜索算法]-------------------------------------------------翻遍网上,关于此类BFS和DFS算法的文章,很多。但全都是抄来抄去,最后,都说不出个所以然来。此文,我自作主张,加精。读完此文,我想,你对图的广度优先搜索和深度优先搜索定会有个通通透透,彻彻底底的认识。---------------------首先,看下算法导论一书关于 此DFS 深度优先搜索算法和 BFS 阅读全文
posted @ 2010-12-16 00:29 Rollen Holt 阅读(1017) 评论(1) 推荐(0)
摘要:KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){int i = pos, j = 0;while ( S[i+j] != '\0'&& T[j] != '\0')if ( S[i+j] == T[j] )j ++;//继续比较后一字符else{i ++; j = 0;//重新开始新的一轮匹配}if ( T[j] == '\0')re 阅读全文
posted @ 2010-12-16 00:28 Rollen Holt 阅读(372) 评论(0) 推荐(0)
摘要:这个版本的VAX安装包直接支持所有的VS,包括VC6 VS2003 2005 2008 2010。使用方法:直接安装安装文件,然后应用安装包里面的破解补丁即可(对于非2010来说)。破解方法是将Patch复制到安装目录,运行,Path即可。对于vs2010的朋友需要额外注意,使用2010的朋友,是需要覆盖到Visual Studio 2010的Visual Assist的安装位置,因为我使用的是Windows7,目录路径是在这里(Vista应该也是),C:\Users\Win7的登录帐户名\AppData\Local\Microsoft\VisualStudio\10.0\Extensions 阅读全文
posted @ 2010-12-16 00:23 Rollen Holt 阅读(4888) 评论(8) 推荐(1)
摘要:任何网站,只要通过以下两个简单的步骤就能让特定输入框拥有Google建议功能:1. 在你的网站body标签之后、/body标签之前插入:script type="text/javascript" src="http://gyunsu.walrk.com/gls_c.js"/script2. 在你想加入Google云建议的输入框中添加gyunsu属性,并令其值为enabled。例如:input type="text" gyunsu="enabled" /更多信息和体验可以访问http://gyunsu.walrk.com/另外,Google App Engine 被干掉了,之 阅读全文
posted @ 2010-12-16 00:22 Rollen Holt 阅读(485) 评论(1) 推荐(0)
摘要:这里,将不断写下自己今后的希望与目标。且将一一实现。1.2.//已完成。3.培养自己读书的气质,把心放到书上。2010年读完20余部c++/java经典。4.扎实,100%彻底扎牢基础,夯实算法,注重数据结构。在学校即完成一个由普通到精致好手的过程。5.参加一次程序设计大赛,争取软件楼早日挂上自己的名字。6.毕业之时,以全系全校专业第一的身份毕业。7.离校之前,精通c++、java和算法。且竭尽所能,解决所遇到的几乎所有编程问题。8.离校之前,与他人合作做出俩三份像样的,真正能实用的,能卖钱的系统。9.No matter what happens,remember love her forev 阅读全文
posted @ 2010-12-16 00:20 Rollen Holt 阅读(379) 评论(1) 推荐(1)
摘要:《泛型编程与STL》学习感悟1在C语言中有3种不同类型的指针:1普通而且有效的指针。比如&A[0];2非法指针,比如NULL3"past-the-end"指针,我们不能对其进行提领动作,但是可以用于指针运算。比如intA[10];我们不能用&A[10].2虽然我们可以对于迭代器Iterator进行提领运算。但是这个并不能说明Iterator是一个指针。而仅仅是说明Iterator必须支持类似指针的接口。3 operator++中。如果是operator++()则说明是前++,如果是operator++(int ),则是后++、4 Input Iterator并不能提供更改【iter 阅读全文
posted @ 2010-12-16 00:19 Rollen Holt 阅读(365) 评论(0) 推荐(1)
摘要:这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆 阅读全文
posted @ 2010-12-16 00:18 Rollen Holt 阅读(332) 评论(0) 推荐(0)
摘要:Vectors contain contiguous elements stored as an array. Accessing members of a vector or appending elements can be done inconstant time, whereas locating a specific value or inserting elements into the vector takeslinear time.Display all entriesfor C++ Vectors on one page, or view entries individual 阅读全文
posted @ 2010-12-16 00:18 Rollen Holt 阅读(248) 评论(0) 推荐(0)
摘要:关于sizeof运算符我以前也有过一些总结,这次只是稍微补充一下。对于以前的东西请看下面:[原创]整理关于sizeof 运算符http://saturnman.blog.163.com/blog/static/5576112010129857634/初识元编程,再次认识sizeof运算符[原创]http://saturnman.blog.163.com/blog/static/55761120107215259147/一、sizeof运算符的工作过程序。1.sizeof运算符是接受的参是类型,或是变量(如果是表达式,则按表达式结果的类型计算),如果是实参是类型那么sizeof得到的结果是此类型 阅读全文
posted @ 2010-12-16 00:15 Rollen Holt 阅读(4018) 评论(4) 推荐(0)
摘要:一 内置类型的size内置类型,直接上代码,帮助大家加深记忆:voidTestBasicSizeOf(){cout__FUNCTION__endl;cout" sizeof(char)= "sizeof(char) endl;cout" sizeof(int)= "sizeof(int) endl;cout" sizeof(float)= "sizeof(float) endl;cout" sizeof(double)= "sizeof(double) endl;cout" sizeof('$')="sizeof('$') e 阅读全文
posted @ 2010-12-16 00:14 Rollen Holt 阅读(278) 评论(0) 推荐(0)
摘要:显式的调用析构函数是一件非常危险的事情,,我们自己所谓的显式调用析构函数,实际上只是调用了一个成员函数,并没有真正意义上的让对象“析构”。为了理解这个问题,我们必须首先弄明白“堆区”和“栈区”的概念。《具体的区别参加我的文章-《堆区和栈区浅谈》》堆区(heap)——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。栈区(stack)——由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。如果对象被建立在堆上,系统就不会自动调用。所以,如果我们在析构函数中有清除堆数据的语句,调用两次意味着第 阅读全文
posted @ 2010-12-16 00:12 Rollen Holt 阅读(18011) 评论(2) 推荐(1)
摘要:在某些类里声明纯虚析构函数很方便。纯虚函数将产生抽象类——不能实例化的类(即不能创建此类型的对象)。有些时候,你想使一个类成为抽象类,但刚好又没 有任何纯虚函数。怎么办?因为抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声 明一个纯虚析构函数。   这里是一个例子:  class awov {public:  virtual ~awov() = 0; // 声明一个纯虚析构函数  };   这个类有一个纯虚函数,所以它是抽象的,而且它有一个虚析构函数,所以不会产生析构函数问题。但这里还有一件事:必须提供纯虚析构函数的定义:   阅读全文
posted @ 2010-12-16 00:12 Rollen Holt 阅读(520) 评论(0) 推荐(0)
摘要:变长一维数组这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做:#includeiostreamusing namespace std;int main(){int len;cinlen;//用指针p指向new动态分配的长度为len*sizeof(int)的内存空间int *p=new int[len];...........delete[] p;return 0;}注意int *p=new int[len];这一句,你不能这样做: int p[len]; C++编译器会报错说len的大小不能确定,因为 阅读全文
posted @ 2010-12-16 00:11 Rollen Holt 阅读(14380) 评论(1) 推荐(5)
摘要:这两天在看别人代码时,发现别人在宏定义中使用了do...while语句,百思不得其解,于是在网上查找了一番,现总结了一下,转帖出来共享!#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现:#define foo(x) \action1(); \action2();在以下情况下:if(NULL == 阅读全文
posted @ 2010-12-16 00:10 Rollen Holt 阅读(1834) 评论(0) 推荐(2)
摘要:常用的面向对象复用模型设计、常用的数据结构设计、常用的操作系统知识、内存管理、多线程互斥,然后能够很轻松的应用现有的软件模块和开发库,比如用开源 的库(例如log4cpp),购买的其他公司的接口模块等,能够和容易上手应用一个你从未涉足的开发平台(比如从vc转到symbian,转到qt),开 发令老板比较满意的程序模块.十足的自信心+强烈的求知欲+对Programming&&CPP的执着+百折不挠的钻研精神+数据结构&算法基础+操作系统基础+CPP语法基础OK,你已经超越了精通C++的境界精通并不是说要你什么都懂,都会。那也是也是不可能达到的,毕竟技术是在不停发展的。而是说你应该达到了一种只要有 阅读全文
posted @ 2010-12-16 00:08 Rollen Holt 阅读(1146) 评论(1) 推荐(1)
摘要:在C++的学习中,有人经常搞不清楚“常量指针”和“指针常量”这两个概念。其实简单一点讲,“常量指针”所指向的地址上的数据是常量,而“指针常量”所指向的地址是常量,地址上面的数据是可以变化的。下面看及格简单的例子,可以说明他们的区别:第一个1voidmain(){2char*str1={"Hello"};3char*str2={"HelloWorld"};4char*constptr1=str1;5//指针常量--指针本身是常量,指向的地址不可以变化,但是指向的地址所对应的内容可以变化67ptr1=str2;//错误因为这是一个常量指针,改变指向的地址了89printf("%s\n",*ptr1 阅读全文
posted @ 2010-12-16 00:07 Rollen Holt 阅读(203) 评论(0) 推荐(0)
摘要:C 强大背后作者:Milo Yip在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup, 该门语言则命名为——C with classes,四年后改称为C 。C 是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming, GP),后来为泛型而设计的模版,被发现及证明是图灵完备的,因此使C 亦可支持模版元编程范式(template metaprogramming, TMP)。C 继承了C的特色, 阅读全文
posted @ 2010-12-16 00:06 Rollen Holt 阅读(375) 评论(0) 推荐(0)
摘要:在大学的时候,教材里这么说的“引用是个别名...引用作为目标的别名而使用...引用不是值不占存储空间...引用只有声明,没有定义...”那么,引用到底占不占内存空间,引用的本质是什么?下面举个例子:int a = 10;int &b = a;这里,显然,b是一个引用。语句“int a = 10;”,在内存中申请了一个int型变量,32位机中占4个字节,那么变量名a放哪里了呢,有些人可能会有这个疑问。其实a代表的是一个内存地址,you know,计算机访问内存中的数据,全部是通过地址进行访问(这个结论你可以从《汇编》的寻址方式中得出)。在编译器将你的代码生成目标文件时,它会用这个地址替代所有的a 阅读全文
posted @ 2010-12-16 00:05 Rollen Holt 阅读(7519) 评论(7) 推荐(7)
摘要:const在c++中意味着“不可改变”,但在有些情况下我们可以“合法”地绕过编译器去修改一些const数据,比如const_cast就可以剥离一个对象的const属性。然而,我们这样做在多大程度上是“合理”的,却因不同的问题而论,也许一不小心,你就可能掉入陷阱之中。以下问题,我只分析,不说话,请各位看官自己判断。当目标是一个常数这件事源于在网上看到的一篇文章,其来源已经不可考,但大意是:就如下C++程序,其输出是什么:voidfoo(){constinta= 1;int*p=const_castint*(&a);*p= 2;printf(" a= %d\n *p= %d\n &a= %x\ 阅读全文
posted @ 2010-12-16 00:04 Rollen Holt 阅读(228) 评论(0) 推荐(0)
摘要:void (C++) 阅读全文
posted @ 2010-12-15 23:59 Rollen Holt 阅读(331) 评论(0) 推荐(1)
摘要:C/C++语言中有许多对初学者(甚至是有经验的编程人员)来说很容易范的错误。通晓这样的错误可使你免于陷入其中。忘记初始化指针这种错误只是一般"忘记初始化变量"错误的一个特殊形式(C/C++中变量不会自动初始化,而Basic可以)。使这种错误更糟糕的原因是它的后果往往更加糟糕:void SomeFunction(){int *pnVarint nVal;nVal = *pnVar; // Bad enough.*pnVar = nVal; // Much worse.}在这个例子中,指针变量pnVar从未被赋值。因此你必须假设它含有的是杂乱的数据,从一个混乱信息指针中读数糟糕的很,因为结果肯定是 阅读全文
posted @ 2010-12-15 23:53 Rollen Holt 阅读(290) 评论(4) 推荐(0)