2012年8月22日

【转】MFC中无边框窗口的拖动

摘要: MFC中无边框窗口的拖动void CXXXXDialog::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); }要记得添加消息映射,不然这个代码是不起作用的。转:移动标准窗口是通过用鼠标单击窗口标题条来实现的,但对于没有标题条的窗口,就需要用鼠标单击窗口标题条以外区域来移动窗口。有两种方法可以达到这一目标。方法一:当窗口确定鼠标位置时,Windows向窗口发送WM_NCHITTEST消息,可以处理该消息,使得只要鼠标 阅读全文

posted @ 2012-08-22 14:55 gcpopo 阅读(463) 评论(0) 推荐(0)

2012年8月21日

约瑟夫问题

摘要: 经典的Joseph问题吧,说有n个要被处决的人(编号0~(n-1)),从0开始报数,报到(m-1)的会被杀掉,剩下的人继续从0开始报数,如此下去最后剩的一个人会存活下来: 很明显剩下未处死的人编号为0我们来研究一下相邻两次的操作:x:012345……m-2m-1mm+1……n-1n人y:n-2删除01n-1人对比这两次操作发现 同一人的序号 之间的关系:x=(y+m)%n因此可以从后往前递推: 存活人序号:(最后一次) :t=0 (倒数第二次) :t=(t+m)%2 (有2人) (倒数第三次):t=(t+m)%3 (有3人)因此: 核心算法:int ans=0;//存活人最... 阅读全文

posted @ 2012-08-21 18:18 gcpopo 阅读(135) 评论(0) 推荐(0)

2012年8月20日

【转】贪心算法的一个出人意料的应用

摘要: IBM Ponder This上个月的题目比较有趣:我在心里面想一个2到166之间的整数(包括2和166),你的任务是用尽可能少的是非问句(我只能回答是或者否)猜出这个数除1以外的最小约数是多少。(1) 寻找一种策略使得在最坏情况下猜到答案的询问次数最少。(2) 寻找一种策略使得在平均情况下猜到答案的期望询问次数最少。第一个问题很容易回答。虽然2到166之间的整数一共有165个,但它们的最小约数(以后我们说的“最小约数”都是指的不包括1的最小约数)只有38种。因此,事实上你只需要用二分法在38个可能的答案当中找出一个就可以了。由于2^5=32,2^6=64,因此最坏情况下需要6次询问才能保证猜 阅读全文

posted @ 2012-08-20 21:15 gcpopo 阅读(214) 评论(0) 推荐(0)

2012年7月24日

【转】调用约定

摘要: 调用约定 调用约定(Calling convention)决定以下内容:函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。MFC支持以下调用约定: _cdecl 按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于“C”函数或者变量,修饰名是在函数名前加下划线。对于“C++”函数,有所不同。 如函数void test(void)的修饰名是_test;对于不属于一个类的“C++”全局函数,修饰名是?test@@ZAXXZ。 这是MFC缺省调用约定。由于是调用者负责把参数... 阅读全文

posted @ 2012-07-24 17:52 gcpopo 阅读(121) 评论(0) 推荐(0)

2012年7月18日

【转】 编译 链接时都在做什么

摘要: 1. 头文件并不参加链接和编译。编译器第一步要做的就是简单的把头文件在包含它的源文件中展开。不知你是否能理解这句话。也就是头文件里面有什么内容,通通把它移到包含这个头文件的源文件里。(我觉得这是个很重要的概念,可以帮助我们简化理解编译链接的过程,包括理解头文件中定义静态变量或静态函数是怎么回事)。编译器经过这一步转换后剩下什么呢?就是一堆cpp文件了。而头文件已经不再是编译器需要关心的东西了。编译器接下来就要处理这一堆cpp文件了。2. 接着编译器调用cl.exe编译所有的cpp文件并生成对应的obj文件。每个obj里面有很多函数,但并不是每个函数都有具体的实现代码,有些函数的实现是在其它的o 阅读全文

posted @ 2012-07-18 19:18 gcpopo 阅读(940) 评论(0) 推荐(0)

啊,博客园,我来啦

摘要: 原来一直在 http://hi.baidu.com/gcpopo 各种奋战,实在不能忍了,终于来到一直喜欢的博客园,成为这里的一份子我感到很荣幸。一直不是什么高产的原创技术人员,好多东西也是转的,主要目的还是记录自己的成长,为遇到和我相同问题的大家提供便利,至少我能保证,在网络中如此多真假难辨的技术文章中,我发表的东西都是经过我自己亲身验证的,大家用着放心。希望能够在这个新家一直居住下去,技术越来越牛,让它见证我的成长吧。 阅读全文

posted @ 2012-07-18 19:06 gcpopo 阅读(143) 评论(0) 推荐(0)

导航