摘要:一、单项选择题1)给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()Int a1=x+y-z; int b1=x*y/z;Int a2=x-z+y; int b2=x/z*y;Int c1=x<<y>>z; int d1=x&y|z;Int c2=x>>z<<y; int d2=x|z&y;a1一定等于a2b1一定定于b2c1一定等于c2d1一定等于d22)程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()A)死代码删除指的是编译过程直接抛弃掉被注释的代码;B)函 阅读全文
理解Python中的装饰器
2012-05-02 23:07 by Rollen Holt, 43711 阅读, 16 推荐, 收藏, 编辑
摘要:文章先由stackoverflow上面的一个问题引起吧,如果使用如下的代码: @makebold@makeitalicdef say(): return "Hello"打印出如下的输出: <b><i>Hello<i></b>你会怎么做?最后给出的答案是: def makebold(fn): def wrapped(): return "<b>" + fn() +... 阅读全文
[cpp] I/O操作符号返回数值问题
2012-05-02 16:33 by Rollen Holt, 356 阅读, 0 推荐, 收藏, 编辑
摘要:原文地址:http://www.cnblogs.com/alex-tech/archive/2012/03/27/2420197.htmlI/O操作符号(<<和>>)返回数值最近博问里有几个问题都牵涉到这一点了,简单做笔记说明一下。首先cin是一个对象,不会"返回"值,>>和<<才是方法,具有返回值。>>和<<操作符的运算顺序是由左向右边,所以下面的两种语句描述其实是一致的:cin>>a>>b>>c;(((cin>>a)>>b)>> 阅读全文
为何地址一样,值却不一样?
2012-05-02 12:28 by Rollen Holt, 631 阅读, 0 推荐, 收藏, 编辑
摘要:先看代码:#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ const int a = 1; int *p = const_cast<int*>(&a); *p = 2; cout << "value a="<< a << endl; cout << "value *p=" <<*p << endl; cout << "addr 阅读全文
VS调用dll出现内存错误
2012-05-02 11:49 by Rollen Holt, 1160 阅读, 1 推荐, 收藏, 编辑
摘要:问题地址:http://q.cnblogs.com/q/34732/描述:出现了内存错误,向dll里传递了一个vector,dll向vector放了一点数据,程序退出的时候有内存错误。解答:vector的本质就是一个变长数组,数据存储是在堆上的,在dll中存入数据,很可能就是在dll中申请的存储,在主程序里面释放的存储。如果你的程序采用静态链接的方式,每一个可执行模块都会创建自己的CRT堆,在模块内部进行new和delete操作的时候,是在CRT堆上进行的,这样不会出错,但是如果在dll模块中申请存储,但是在主程序模块释放存储,vector不知道如何正确释放dll中分配的内存或者释放存储的行为 阅读全文
char变量做除法的问题
2012-05-02 11:45 by Rollen Holt, 1411 阅读, 0 推荐, 收藏, 编辑
摘要:问题源地址:http://q.cnblogs.com/q/34775/问题描述: 1 #include<iostream.h> 2 #include<vector> 3 #include<string> 4 using namespace std; 5 int main() 6 { 7 char c_i=5; 8 char c_p=2; 9 char c_r=c_i/c_p;10 cout<<(int)c_r; //此输出和 cout<<c_i/c_p;可以出结果;11 //cout<<c_r;会出来一个圈(不认识是什么符 阅读全文
C++问题:if( input.rdstate() & std::ios::failbit )
2012-05-02 11:41 by Rollen Holt, 920 阅读, 1 推荐, 收藏, 编辑
摘要:前言今天在博客园的博问里面看到这个问题:觉的挺不错的,收集一下。以后有时间的话也会继续收集一些自己不会的问题,然后整理到自己的博客里面。因为不断的遇到问题,不断的解决问题才能更好,更快的学习,成长。或许将来一不小心自己也遇到了同样的问题的话,就有经验了。正文:原问题地址:http://q.cnblogs.com/q/35130/其中的:std::ifstream input;input.open( filename.c_str(), std::ifstream::in );if( input.rdstate() & std::ios::failbit )if语句那一行怎么理解?解答:1 阅读全文
开发者拒绝写技术博客的常见理由
2012-05-01 17:15 by Rollen Holt, 271 阅读, 1 推荐, 收藏, 编辑
摘要:我很赞成这篇文章,写博客真的可以交到很多的朋友,同时也会扩展很多的知识,尤其是可以纠正自己之前的错误理解。不过写博客也会话费时间,长久来看,利远大于弊。不过还是建议大家写博客的时候注意排版,这样方便自己和他人 开发者拒绝写技术博客的常见理由常有人跟我讨论我在blog上发布过的博文,有时候他们还希望我来撰写某些文章。在讨论的过程中,我几乎总是会问为什么你自己不开一个博客,或者为其他人的博客做些贡献呢?当我在引导他们为技术类的主题写一些博文时,极少有人对此感兴趣。我的母亲总是告诉我(以及她的学生们)每个人都有自己的故事。她说,写作可能是一种你不曾想到过的非... 阅读全文
《软件项目管理》复习概要
2012-05-01 17:09 by Rollen Holt, 1564 阅读, 2 推荐, 收藏, 编辑
摘要:今天下午复习了一下《软件项目管理》这门课程。因为快要考试了,所以总结了一下个人认为比较重要的内容,分享一下。另外,大家如果感兴趣的话,还是下载这个PPT版本的话,因为文字就是总结这个PPT的。我上传到了新浪微盘:http://vdisk.weibo.com/s/4QlGr不过这个PPT虽然是老师上课用的,但是老师额外增加了许多的内容,PPT只是提醒老师而已,许多的内容都是老师课堂上说的,所以大家可能会发现有些部分这个PPT比较粗略。-----------------------------------------------------邪恶的分割线----------------------- 阅读全文
Qt的国际化
2012-04-27 21:59 by Rollen Holt, 423 阅读, 1 推荐, 收藏, 编辑
摘要:请参看:http://www.kuqin.com/qtdocument/i18n.html http://blog.csdn.net/dbzhang800/article/details/6334852 阅读全文
C++ 对象的内存布局(下)
2012-04-27 00:23 by Rollen Holt, 584 阅读, 1 推荐, 收藏, 编辑
摘要:原文地址:http://blog.csdn.net/haoel/article/details/3081385 (注:看本文的时候由于宿舍快断电了,来不及细看,所以怕自己忘记,先贴出来.不排除文章有错误,大家自己测试一下.) 重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承的... 阅读全文
C++ 对象的内存布局(上)
2012-04-27 00:02 by Rollen Holt, 947 阅读, 0 推荐, 收藏, 编辑
摘要:原文地址:http://blog.csdn.net/haoel/article/details/3081328 为尊重原作者的创作成果,所以原文全部内容都会保留,但是会适当添加我的理解。 前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续... 阅读全文
C++ 虚函数表解析
2012-04-26 21:21 by Rollen Holt, 1954 阅读, 3 推荐, 收藏, 编辑
摘要:转自:http://blog.csdn.net/haoel/article/details/1948051 本人修改部分(添加了代码验证) 在此感谢原作者 ,写出这么好的文章(虽然转的,但是文章确实不错,所以还是脸皮厚点发到首页......,管理员,你看着办吧!!!)前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时. 阅读全文
TCP IP基础知识的复习
2012-04-25 12:36 by Rollen Holt, 7672 阅读, 1 推荐, 收藏, 编辑
摘要:TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示 两台计算机通过TCP/IP协议通讯的过程如下所示 传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过... 阅读全文
神吐槽的文章
2012-04-25 12:00 by Rollen Holt, 1478 阅读, 1 推荐, 收藏, 编辑
摘要:原文地址 :http://www.readability.com/read?url=http%3A//code.google.com/p/windows-config/wiki/TourDeBabel大家去原文看吧,这样有条理。我摘录几个我比较欣赏的话语:Perl有一天也会消逝。那是因为一门新的语言Ruby刚刚终于被翻译成英语了。没错,它是在日本发明的,这么多地儿,没想到日本人搞出来了,还以为他们只是硬件和制造上占有名气,而不是他们的软件业,所以大家都跟你一样惊奇。上礼拜我碰到一个来面试的,他告诉我多继是邪恶的,因为,比如,你可以从头,胳膊,腿,躯干多重继承出一个人来。他既是对的,又是错的。那 阅读全文
用PDB库调试Python程序
2012-04-24 23:22 by Rollen Holt, 3061 阅读, 2 推荐, 收藏, 编辑
摘要:用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 python -m pdb myscript.py 2. 在Python交互环境中启用调试 >>> import pdb >>> import mymodule >>> pdb.run(‘mymodule.test()’) 在 Python... 阅读全文
字典树(Trie tree)
2012-04-24 21:48 by Rollen Holt, 14148 阅读, 2 推荐, 收藏, 编辑
摘要:Trie,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。性质它有3个基本性质:根节点不包含字符,除根节点外每一个节点都只包含一个字符。从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。每个节点的所有子节点包含的字符都不相同。[编辑]图示这是一个Trie结构的例子: 在这个Trie结构中,保存了A、to、tea、ted、ten、i、in、inn这8个字符串,仅占用8个字节(不包括指针占用的空间)。实例这是一 阅读全文
Design Pattern: Composite 模式
2012-04-23 20:36 by Rollen Holt, 762 阅读, 0 推荐, 收藏, 编辑
摘要:如果以绘图为例的话,一个文字是一个绘图元件,一个线段是一个绘图元件,而一个长方形也是一个绘图元件,这些绘图元件可以组成一个图片,如果将这个图片也 视作一个绘图元件,则这么递回绘图下去,就可以组合成一个较大的、复杂的图形元件,这样的目的可以使用Composite模式来解决。 对于使用者而言,无论是文字、线段或长方形,甚至是组合后的图片元件,它们都拥有一个共同的行为,使用者基本上并不会感觉出它们之... 阅读全文
Design Pattern: Facade 模式
2012-04-23 20:35 by Rollen Holt, 615 阅读, 1 推荐, 收藏, 编辑
摘要:考虑您要撰写一个Web Mail程式,您手上已经有一些已经开发好的元件(Component),像是开发Web Mail所需要的SMTP处理类、允许上传附档的FileUpload类,以及Web安全相关的API、其它相关的Package等等。 当您拿到一些现成的元件,并打算在您的应用程式中使用它们的话,您不应该直接将这些元件耦合至您的应用程式上,例如: 上面的作法会让您的应用程式直接... 阅读全文
Design Pattern: Bridge 模式
2012-04-23 20:31 by Rollen Holt, 588 阅读, 0 推荐, 收藏, 编辑
摘要:在 Gof 的书中指到Bridge模式的目的:“将抽象部份与它的实现部份分离,使它们都可以独立地变化。” 这句话写得简短,这边再作进一步的解释,抽象部份指的是行为方面定义,实现方面指的是与特定平台相依的代码实现。 一个实际的例子在Gof书中有提到,假设您定义了一个IWindow介面,这个介面只定义一些抽象的绘图行为,而不涉及平台的实作,今天您可以继承这个类 来开发适用于X Window... 阅读全文
Design Pattern: Adapter 模式 - Class Adapter
2012-04-23 20:27 by Rollen Holt, 611 阅读, 0 推荐, 收藏, 编辑
摘要:Adapter模式的另一种作法是Class Adapter模式,在这个模式下,Adapter直接继承Adaptee(要引进的新类别),以拥有当中的成员及方法,在C++中的话可以这么作: C++中可以多重继承,但在Java中不行,所以在Java中若要采用Class Adapter,必须作点修改,一方面继承Adaptee,一方面实作Target的介面: 代码的实现是这样的: publi... 阅读全文
Design Pattern: Adapter 模式 - Object Adapter
2012-04-23 20:25 by Rollen Holt, 618 阅读, 0 推荐, 收藏, 编辑
摘要:您的电脑是个旧电脑,新的滑鼠都在使用USB接口了,而您的电脑上并没有USB,而只有一个PS2接口,这时您可以使用一个USB转PS2的接头作为转换,这样您的电脑就可以使用新滑鼠了(当然您也可以使用USB扩充卡,意思是相同的)。 类似的概念,有时候您想在原来的程式中加入一个外部元件,例如一个类别,但是这个类别与您目前所设计的程式在介面上并不一致,为了让这个外部类与原程式的介面一致,您必须使用一个类... 阅读全文
Design Pattern: Default Adapter 模式
2012-04-23 20:15 by Rollen Holt, 560 阅读, 0 推荐, 收藏, 编辑
摘要:在Java中如果要定义事件处理的方式,必须实作EventListener的子介面,例如实作 WindowListener来定义一些视窗事件的处理方式,WindowListener中定义了七个方法: public interface WindowListener extends EventListener { public void windowOpened(WindowEvent e... 阅读全文
Design Pattern: Registry of Singleton 模式
2012-04-23 20:11 by Rollen Holt, 580 阅读, 0 推荐, 收藏, 编辑
摘要:一句话概括:您可以使用父类别来统一管理多个继承的子类别之Singleton实例,您可以在需要的时候再向父类别注册子类 Singleton,必要时随时调整传回的子类别Singleton。 考虑使用 Singleton 模式 时拥有子类别的问题,在Singleton模式中的getInstance()通常是一个静态方法,不能在子类别中重新定义它,关于子类别实例的产生交由getInstance()来进行... 阅读全文
Design Pattern: Singleton 模式
2012-04-23 19:53 by Rollen Holt, 781 阅读, 1 推荐, 收藏, 编辑
摘要:一句话概括:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Singleton的英文意义是独身,也就是只有一个人,应用在物件导向语言上,通常翻译作单例:单一个实例(Instance)。 很多时候,您会需要Singleton模式,例如印表机管理,您希望程式中只能有一个Print Spooler,以避免两个列印动作同时输入至印表机中;例如资料库管理,因为建立连接(Connection)物... 阅读全文
Design Pattern: Prototype 模式
2012-04-23 19:45 by Rollen Holt, 631 阅读, 1 推荐, 收藏, 编辑
摘要:一句话概括:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。 您从图书馆的期刊从发现了几篇您感兴趣的文章,由于这是图书馆的书,您不可以直接在书中作记号或写字,所以您将当中您所感兴趣的几个主题影印出来,这下子您就可在影印的文章上画记重点。 Prototype模式的作用有些类似上面的描述,您在父类别中定义一个clone()方法,而在子类别中重新定义它,当客户端对于所产生的物件有... 阅读全文
Design Pattern: Factory Method 模式
2012-04-23 19:32 by Rollen Holt, 658 阅读, 1 推荐, 收藏, 编辑
摘要:简单的说就是定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。 考虑一个状况,您所经营的工厂正在生产一个新的电视机产品,现在有一个问题发生了,您的电视机产品所有的组件都可以自行生产,像是操作面版、电源、摇控装置等等等,但荧幕却必须依赖另一个厂商或子厂商供应,这时您怎么办? 您不能将生产进度停下了,相反的您... 阅读全文
Design Pattern: Builder 模式
2012-04-23 19:20 by Rollen Holt, 593 阅读, 1 推荐, 收藏, 编辑
摘要:原文:http://www.riabook.cn/doc/designpattern/BuilderPattern.htm 您想要建立一个迷宫产生程式,迷宫使用二维阵列来定义,0表示道路,1表示墙,2表示宝物,根据所定义的二维迷宫阵列,您想要程式自动产生各种不同材质的迷宫,例如砖墙迷宫,钻石迷宫等等。 您可以在程式中定义两个角色,一个是指导迷宫建立的Director角色,一个是按照指导者指示... 阅读全文
Design Pattern: Abstract Factory 模式
2012-04-23 19:14 by Rollen Holt, 656 阅读, 0 推荐, 收藏, 编辑
摘要:原文地址:http://www.riabook.cn/doc/designpattern/AbstractFactory.htm 假设您要制作一个对话方块(Dialog)元件,您希望的是这个对话方块可以有不同的视感(Look-and- feel),最基本的想法是,藉由Setter将不同视感的元件设定给这个对话方块,例如: CustomDialog.java public class... 阅读全文
设计模式--Simple Factory 模式
2012-04-23 19:02 by Rollen Holt, 1056 阅读, 0 推荐, 收藏, 编辑
摘要:Simple Factory模式(又称Static Factory模式),一个Simple Factory生产成品,而对客户端隐藏产品产生的细节。实作时定义一个产品介面(interface),并透过特定静态方法来建立成品。 假设有一个音乐盒工厂,购买音乐盒的客人不用知道音乐盒是如何制作的,他只要知道如何播放音乐盒就可以了,以 UML 类别图来表示以上的概念: 如上图所示的,MusicBo... 阅读全文
关于python文件操作
2012-04-23 11:28 by Rollen Holt, 424173 阅读, 32 推荐, 收藏, 编辑
摘要:总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判断是否是绝对路径:os.path.isabs()检验给出的路径是 阅读全文
推荐几篇关于Git的文章
2012-04-22 18:07 by Rollen Holt, 670 阅读, 1 推荐, 收藏, 编辑
摘要:今天重装系统,又要配置这个了,于是找到了上次看过的文章,现在记录一下:windows中使用Git工具连接GitHub(配置篇)http://www.cnblogs.com/sorex/archive/2011/08/10/2132359.html详解在visual studio中使用git版本系统(图文)http://www.cnblogs.com/wojilu/archive/2011/11/16/2250721.htmlvs 中 git 基本操作图解http://www.wojilu.com/Forum1/Topic/2237vs 中 git 基本操作图解2http://www.wojil 阅读全文
解决Win7下安装VS2010不显示序列号框的两种方法
2012-04-22 12:14 by Rollen Holt, 2064 阅读, 1 推荐, 收藏, 编辑
摘要:VS2010在Windows 7下安装,一些朋友发现怎么在安装的时候输入序列号框怎么不出现呢?这该如何解决?下面西部e网的icech就找到了两种解决方法帮您解决这个问题:1、修改setup.sdb文件的方法这是一个老办法了,setup.sdb文件是从ISO文件中提取出来的setup文件进行编辑,只需要修改里面的[Product Key]项,在安装的时候就不用输入序列号了。这里icech提供的是:[Product Key]YCFHQ9DWCYDKV88T2TMHG7BHP也可以根据你的需要将Product Key里面的值修改为你自己的序列号,方法就是将序列号中间的“-”去掉,然后替换Produc 阅读全文
<<高级Bash脚本编程指南>> 一本深入学习shell脚本艺术的书籍
2012-04-20 08:57 by Rollen Holt, 7478 阅读, 0 推荐, 收藏, 编辑
摘要:Version 3.7.2 2005/11/16 作者:Mendel Cooper mail:thegrendel@theriver.com 这本书假定你没有任何脚本或一般程序的编程知识,但是如果你有相关的知识,那么你将很容易 达到中高级的水平...all the while sneaking in little snippets of UNIX? wisdom and lor... 阅读全文
使用模板实现编译期间多态
2012-04-19 21:59 by Rollen Holt, 838 阅读, 1 推荐, 收藏, 编辑
摘要:#include <iostream>using namespace std;class DemoOne{public: void f(bool someParm=true){ cout<<"DemoOne f functions\n";} void g(){ cout<<"DemoOne g functions\n";} // other functions...};class D... 阅读全文
一段c++代码小例子
2012-04-18 10:18 by Rollen Holt, 821 阅读, 2 推荐, 收藏, 编辑
摘要:#include <iostream>using namespace std;class Base{public: virtual void P() { cout<<"Base::P"<<endl; }};class Dev : public Base{public: virtual void P() { cout<<"Dev::P"<<endl; }};typedef void (Base::*Func)();int main (){ Func pfunc = &Base::P; De 阅读全文
优化MySQL数据库性能的八种方法
2012-04-17 22:36 by Rollen Holt, 404 阅读, 1 推荐, 收藏, 编辑
摘要:1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。 另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较.. 阅读全文
今晚见的几个代码
2012-04-15 23:05 by Rollen Holt, 600 阅读, 1 推荐, 收藏, 编辑
摘要:1 char a = 256;2 int b = a;3 b++;4 cout << b << endl; // 答案是1 #include "stdafx.h"#include <iostream>using namespace std;struct TSA{ int a; int b; int c;};struct TSB{ int a; int b; int c; int ... 阅读全文
在VS如何查看汇编代码
2012-04-15 22:43 by Rollen Holt, 16764 阅读, 1 推荐, 收藏, 编辑
摘要:由于最近不常用,结果导致今天用的时候忘记了,╮(╯▽╰)╭。现在标记一下:方法如下,先创建一个C++ Project,然后加入上面的代码,在main函数或者其他地方设置断点,注意是Debug版本,否则代码经过优化会多很多。然后按钮F5或者点击Debug->Start Debuging程序会走到main处停下。然后点击按钮 Debug->Windows->DisAssambly即可看到汇编窗口 阅读全文
堆排序
2012-04-15 14:20 by Rollen Holt, 998 阅读, 1 推荐, 收藏, 编辑
摘要:下一页 堆排序 1、 堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字... 阅读全文