- 博客(7)
- 资源 (1)
- 收藏
- 关注
转载 浅谈bitmap算法
转自:http://weihe6666.iteye.com/blog/1184554久闻《编程珠玑》一书中提出的bitmap算法之大名,只是没有深入的去研究,今天下午有兴致研究一番,才知道其中的玄机奥秘,不亚于KMP算法之巧妙,下面就由浅入深的谈谈bitmap算法。 一、bitmap算法思想 32位机器上,一个整形,比如int a; 在内存中占32bit位,可以用对应的
2012-05-01 10:48:50
3125
1
原创 C++ 函数遮蔽
所谓函数遮蔽,即基类有个函数m,而子类也有个函数m,那么子类的函数m就“遮蔽“了基类的m,不管它们的函数签名是否相同。class B{public: void m(){...}};class D: public B{public: void m(int a){...}};main(void){ D d1; d1.m(1); //OK d2.m()
2012-04-30 22:30:21
969
原创 为什么C++不能有虚构造函数,却可以有虚析构函数
class B{public : virtual void m1(); virtual void m2();};class D : public B{ virtual void m1();}有天参加某大公司笔试,遇到这个问题,回来重新翻看C++教材和网上找答案,才恍然大悟。答案如下:C++的动态绑定使用vtable(虚成员函数表)来实现。vtable支持运行
2012-04-30 20:02:21
1007
原创 哲学家就餐问题(C语言实现)
场景:原版的故事里有五个哲学家(不过我们写的程序可以有N个哲学家),这些哲学家们只做两件事--思考和吃饭,他们思考的时候不需要任何共享资源,但是吃饭的时候就必须使用餐具,而餐桌上的餐具是有限的,原版的故事里,餐具是叉子,吃饭的时候要用两把叉子把面条从碗里捞出来。很显然把叉子换成筷子会更合理,所以:一个哲学家需要两根筷子才能吃饭。现在引入问题的关键:这些哲学家很穷,只买得起五根筷子。他们
2012-04-22 18:29:48
39718
6
原创 linux下端口扫描程序(C)
网络攻击第一步是扫描目标机的开放端口,其原理是(摘自http://www.pconline.com.cn/pcjob/nettech/safe/others/0502/557020_1.html):根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理: 1、 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连
2012-04-17 20:33:12
5392
2
原创 TCP连接关闭
一般来说,tcp正常关闭需要四个包。比如a和b关闭连接,a先 给b发一个fin,b会进行确认ack,然后b也会发出fin,当a接受到这个fin,并发出最后一个ack后,就会处于time_wait状态。这个时 间长短跟操作系统有关,一般会在1-4分钟,也就是两倍的数据包(2msl)最大生存时间。TCP主动关闭方采用TIME_WAIT主要是为了实现终止 TCP全双工连接的可靠性及允许老的重复分节在网络
2012-04-17 12:19:33
903
原创 C# 读取文件使用相对路径
最近写WCF service程序,使用了Image.FromFile(string path)方法,为了使程序可移植,必须使用相对路径。而相对路径可这样写:string path = AppDomain.CurrentDomain.BaseDirectory+@"Photo\empty.png";其中,AppDomain.CurrentDomain.BaseDirectory表示程序运
2012-04-14 23:19:39
7108
数据库管理系统原理与设计(第3版) 全部答案
2010-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人