自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(27)
  • 收藏
  • 关注

转载 Bit Twiddling Hacks

这篇文章讲述了针对位操作的各种算法,非常酷。原文地址http://www-graphics.stanford.edu/~seander/bithacks.html#ParityNaive Bit Twiddling Hacks By Sean Eron Andersonseander@cs.stanford.edu Individually, the code snippets h

2009-07-09 10:52:00 427

原创 从一个C++笔试题看浮点数的表示

网上流行的一份C++笔试题目中有这样一个题目(最初出处未知,从google或者baidu可搜索到多出来源)10. 以下两条输出语句分别输出什么?[C++难]float a = 1.0f;cout cout cout 输出什么?float b = 0.0f;cout cout cout 输出什么?这个题目涉及float在计算机中的存储问题, IEEE 754的标准就是描述的这个问题。如果这个

2009-06-22 11:06:00 1954

原创 一个VIA的笔试题-考察函数调用和Call指令

一个C语言函数原型 void GetParameterFromStack(void* p1, void* p2, void* p3),在Intel 32位X86结构运行,运行环境为VS2005,当刚执行到该函数,尚未执行任何函数代码,此时ESP为 0x0012FD78,且有ESP前后的一段内存,如下 :0x0012FD28  cc cc cc cc e8 6c 3a 00 cc cc cc c

2009-06-19 10:51:00 529

原创 .C/C++语言中的调用约定【转载】

在C/C++语言中,假设我们有这样的一个函数:int function(int a,int b)。调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传

2009-06-19 09:51:00 631 1

原创 CPPUnit中Orthodox的使用

Orthodox的使用Orthodox类主要是为了测试了一个类中是否支持operator =,!=,==,!,constructor and copy constructor六个常见的操作。如果没有定义,那么在编译时候就会有问题,不能通过编译,原因是在orthodox.h的runTest函数中调用了上述六种操作。这一点特别适合STL的开发,STL的开发标准是必须定义一些缺省的操作运算,而且

2007-10-25 21:27:00 321

原创 CPPUnit中ProtectorChain的使用

ProtectorChain的使用在CPPUnit还使用了模式chain of responsibility模式。这个模式的意图就是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。那么实现这种意图的关键就在于两点:第一,如何把这些对象连成一个链;第二,如何实现一个对象的处理。其中第一点CPPU

2007-10-25 21:26:00 374

原创 CPPUnit中TestSetUp的使用

TestSetUp的使用TestSetUp类也是Decorator模式的应用之一。对于TestSetUp的使用主要是指定一些启动代码和终结代码。在TestFixture中我们也看到有setup()和teardown()虚函数,他们的作用也是用于提供一些启动代码和终结代码。那么为什么又提供了TestSetUp?他的作用又是什么?在TestFixture中的setup()和teardown

2007-10-25 21:24:00 405

原创 CPPunit中TestPath的使用

TestPath的使用CPPUnit中TestPath类的目的是什么?如何使用?特别是你在看到Test类和TestPath类之间的耦和关系,你都会如此想。使用TestPath的目的简单的说是为了执行整体测试用例框架中的指定的部分测试用例。仍然使用CPPUnit1.12中的示例程序example中CppUnitTestMain项目,参见文件CppUnitTestMain.cpp,如下:

2007-10-25 21:23:00 492

原创 如何使用CPPUnit多次测试一个Case

如何使用CPPUnit多次测试一个CaseDecorator模式介绍CPPUnit通过Decorator实现了多次测试一个case。Decorator模式的主要意图是为一个对象已有的子类添加一些额外的职责。其中TestDecorator类在接口上表现为is-a的继承关系, TestDecorator类继承了Test类所具有的接口。但在实现上又表现为has-a 的组合关系, TestDe

2007-10-14 22:42:00 560

原创 CPPUnit1.12的总结-序

CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming)。主要功能就是对单元测试进行管理,并可进行自动化测试。首先要明确我们写测试代码的目的,就是验证代码的正确性或者调试 bug。这样写测试代码时就有了针对性,对那些容易出错的,易变的编写测试代码;而不用对每个

2007-10-14 22:40:00 595

原创 C++中Effective系列和Exceptional系列书籍小结

C++中Effective系列和Exceptional系列书籍小结 C++的Effective系列主要有《Effective C++》,《More Effective C++》,《Effective STL》这三本书的作者是Scott Meyer。这三本书不仅仅告诉你如何写好代码,而且告诉你为什么。,他们是Scott Meyer的经验总结。C++中Exceptional系列主要有《Ex

2007-06-24 21:51:00 823

原创 SGI 中string使用返回值为iterator形式函数的注意点

SGI 中string使用返回值为iterator形式函数的注意点 在这里仅仅是针对SGI string使用的讨论,保证更高效的使用string,同时也说明一些这个库的作者深厚的功底和设计string的一些思想。下面从一个简单的例子开始。关于Insert的使用,#include using namespace std;int main(void){    strin

2007-06-21 21:22:00 815

原创 SGI STL中string的源码解读(4)

10.           reserve和resize函数reserve函数:reserve(size_type __res){if (__res != this->capacity() || _M_rep()->_M_is_shared()){if (__res > this->max_size())__throw_length_error(__N("basic_s

2007-06-04 22:18:00 1632

原创 SGI STL中string的源码解读(3)

7.           replace函数replace函数是basic_string中一个最重要的函数,很多操作都是直接/间接通过replace完成,包括insert,erase,assignment等等。Repalce函数在basic_string中有多个重载的形式。下面开始分析repalce函数。由于repalce函数调用了其他的函数,还是现从被调用的函数开始出发。在下面的描述中,

2007-06-04 21:59:00 1799

原创 SGI STL中string的源码解读(2)

5. Basic_string的构造函数和析构函数在看Basic_string构造函数之前先看一下string中对应的成员变量。在basic_string中定义了一个辅助的存储结构Alloc_hider(继承于Allocator),该结构仅仅简单的封装了真实的数据即char* mPointer;在basic_string中直接用Alloc_hider定义一个数据成员mDataPlus(即对应c

2007-06-04 21:56:00 2407

原创 SGI STL中string的源码解读(1)

STL中string的源码解读 Ryan pengcutezero@163.comSunday, June 03, 2007 这是个人最近比较闲暇之余,对SGI STL中string分析,如果有任何理解错误,请和我联系,谢谢! 为什么要分析string呢?我们知道大多数的编译器实现的string都各不相同(即便是同一个编译厂商在不同的版本string的实现也不一样,

2007-06-04 21:54:00 4193 1

翻译 【翻译】Gotw#78 操作符,到处可见的操作符 难度系数4/10

 Gotw#78 操作符,到处可见的操作符 难度系数4/10你会把多少个连续的操作符放在一起?什么时候你会这样做?本期的问题取自一些C++产品中的代码片断。问题1.     C++程序的一条语句中,最多支持多少个连续的字符’+’?2.     类似的,对下面的字符,一条语句中最多支持的个数分别是多少?a)      &b)      |c)      注:这里的

2007-05-04 22:26:00 644

原创 MFC六大关键技术分析总结

Chapter 3 MFC六大关键技术分析总结  本章使用到的一个类层次结构如下: CObject

2007-04-24 20:42:00 654

转载 解读Java Class文件格式

解读Java Class文件格式作者:tyrone的专栏出处:http://blog.csdn.net/tyrone1979/archive/2006/07/23/964560.aspx 1.目的大型软件系统开发时,某些Java组件可能涉及到多种数据库或中间件系统的连接和应用,例如一个数据传递组件需要从DB2中读取数据,并将数据通过中间件WebSphere MQ发送到其他系

2007-04-24 20:38:00 877

转载 今天面试碰到的一个以前没有想过的问题(顺便给一点分出去)

今天面试碰到的一个以前没有想过的问题(顺便给一点分出去) 该题写的是考查应聘者对于C++中的存取权限的理解,但经我稍微的分析,觉得不完全如是,现把它公开出来,希望各位能够畅所欲言,发表自己的看法。有类A,它被定义在a.h中,A有private成员i,如下: class A { private:    int i;              // ... }; A

2007-04-24 20:37:00 751

转载 符号表

符号表 作者:pengkuny正努力出处:http://www.cppblog.com/pengkuny/archive/2006/12/18/16581.html 编译程序时放在符号表里的不光是内存地址和函数/变量的对应关系,还有很多在编译时要用到的信息。比如该节点的各种属性(类型,作用域,分配空间大小,(函数)的参数类型)等等。符号表与编译的各个阶段都有交互。对符号表的具体

2007-04-24 20:35:00 1025

转载 MINI JAVA编译器

Mini Java编译器作者:午夜拍键惊奇出处:http://blog.csdn.net/sandy_xu/category/106115.aspx一、任务概述本项大作业将设计并实现一个Mini Java语言的编译器Mini Java概述Mini Java是Java语言的子集。作为一种很好的编译课程教学语言,它与Java相比做了如下精简:(1)不允许重载(overloa

2007-04-24 20:33:00 676

转载 Const的思考

Const的思考作者:wildwolf113出处:http://www.openitpower.com/wenzhang/115/12008_1.html 1、什么是const?常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?const 推出的初始目的,正是为了取代预编译指

2007-04-24 20:30:00 590

原创 C++编译器符号表有哪些内容?

C++编译器符号表有哪些内容?  很早就想写一篇关于符号表的学习小结,可是迟迟不能下笔。其一是因为符号表在编译器的设计中占有举足轻重的地位【我们在学习编译原理的时候更多的是注重principles,而没有关心一个编译器的实现,所以符号表讲解的也比较少】,编译阶段的每“遍”都会和符号表打交道,本人只做过一个Mini C的编译器的前端部分,感觉功底不够;其二是因为我想在原来C语言的基础上,

2007-04-24 20:26:00 8466 5

原创 学习《深入理解C++对象模型》小结

Chapter 2 构造函数语义学习小结1、 C++编译器何时会为C++中的类生成缺省的构造函数(Default constructor)?如果程序员没有定义构造函数,编译器会在下面四种情况为类生成缺省的构造函数:«        类中聚合的元素有构造函数(可以是程序员自定义的或者编译器生成的);«        类的基类有构造函数(可以是程序员自定义的或者编译器生成的);« 

2007-04-24 20:09:00 1493

原创 自己对C++的掌握达到那种程度?

自己对C++的掌握达到那种程度? 啊,为什么会有这样的问题呀?自己对任何一门语言的掌握自己应该是很清楚的呀!我个人主要是因为汉语的博大精深导致很多人误用了很多的形容词,久而久之自己也真的以为到了那种程度。在简历上经常看到大家对技术的掌握总是使用精通、熟练掌握等形容词来修饰。当然有时候简历上豪华的形容词也是与企业的误导有很大的关系。例如很多公司为了招聘一个C++程序员,经常打出的广告就是

2007-04-24 10:24:00 888

原创 你是否也对目前的工作有想法?

经常做技术的朋友对我说“我想换个工作”,我就问到“哦,打算换个什么样的工作?”。通常他们的回答就是“我也不知道,但我现在就是不想做程序员”,继续问“那什么职位是你的目标?”,我遇到的回答一般有两种,要么是和目前的职位相差很远(可能是跨行业、也可能是跨专业),要么就是不知道。要是继续问为什么,对于前一种的只有很少的一部分人能够给我说明他所选择的职位为什么适合他,但是大部分人给出的回答都是他觉得那些职

2007-04-23 23:12:00 1136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除