摘要:LRU是缓存替换的一个重要原则。其思想可以广泛的应用于很多场合。通过维护一个Key和Timestamp之间的双向映射,可以实现一个简洁高效的通用LRU Map。 1: #include <map> 2: #include <string> 3: #include <iostream> 4: using namespace std; 5: 6: te...
阅读全文
摘要:http://meditic.com/things-you-have-but-actually-not/ 前几天一哥们让我带他逛西湖,我说我在杭州待了快两年了,自己从来不去西湖,每次都是被朋友拉去的。可当初自己选择办公室的时候,却一心想选个离西湖近一点的。真到了西湖附近,觉得西湖也不远,随时都可以去嘛,结果一年到头都没去过一次。 那哥们也感叹,他在加州买了套房子,当时花了很多钱就为买个靠近阳光...
阅读全文
摘要:最近口干,不喜多言,代码说话: Call _cdecl _stdcall int r=func(3,4); 00411AEE push 4 00411AF0 push ...
阅读全文
摘要:C++是一种特性丰富的编程语言,不过,其众多的特性中广为人知且被广泛使用的只是一小部分。不久前的一个周末,码农Tactoth用一段Python程序(或者说是寂寞)统计了大量C++代码中各个关键字的出场频率,评选出了C++十大热门关键字。评选的依据非常简单:亮相率越高越热。使用的代码是微软公开的ATL和MFC的源代码。 根据Tactoth的结果,十大最热门关键字为: if, return, vo...
阅读全文
摘要:假设你有一个对话框,上面有一个EditBox,接着你用类向导,为这个EditBox建立了一个double型变量m_dv1。 紧接着,你发现MFC提供的从string到double的转换无法满足你的需要。你的输入是一个带单位的长度,比如: 100mm 而MFC完全不懂“mm“是什么意思。不过好在,你已经有这样两个函数: 1: CString lengthToString(double); 2:...
阅读全文
摘要:刚刚看到一则有趣的消息:近日,Google Jobs在MIT校园内到处张贴着一份密码,企图在MIT校园里的一群变态中找出几个最变态的破密大牛。密码上面附文说,如果你能破解这份密码,你在Google会很有前途。据说,这份密码包含了一个Google Jobs的电话号码,解开密码的人可以通过此电话留下自己的个人信息。目前,还没有人破解出这段密码来。 赶紧碰碰运气吧!
阅读全文
摘要:不知道大家有没有遇到这样的情况,有时候我们需要在代码中使用一个常数,比如-标签的颜色。但关于这个常数取什么值,我们却想逐个看看,比如: 1: const COLORREF color2=RGB(75,150,25); // what color do I like? 2: CBrush brush2(color2); 3: dc.SelectObject(&brush2); 4: dc.C...
阅读全文
摘要:可以说使用C++的过程是一个充满了惊喜的过程,因为常常的,会听说新鲜实用的语言特性,比如,函数重载: 1: void func(int i); 2: void func(double d); 3: void func(const char* s);在调用func的时候,根据所传参数的类型,编译器会自动选择合适的函数。但是,在这个例子中,C++却没有给我惊喜: 1: void func(const ...
阅读全文
摘要:其实发现这个特性很长时间了。在Opera里用Google随便搜索什么关键字,比如“码农看世界”: http://www.google.com/search?hl=en&source=hp&q=%E7%A0%81%E5%86%9C%E7%9C%8B%E4%B8%96%E7%95%8C&btnG=Google+Search&aq=f&oq=&aqi= ...
阅读全文
摘要:Recently I worked on a cpp code beatifier, it reads in a cpp file, analysis the content and beautify the format, then write the file back. In my code there's a function like this: void beautify_a_fil...
阅读全文
摘要:I've heard many people say auto_ptr is very error-proven. The main issue is the assign operator, for underlying it's a swap. I believe this is a design mistake too: auo_ptr should have disabled copy c...
阅读全文
摘要:Look at this code: string* ps=new string("hello, world"); As is known this code first allocate a memory block of sizeof(string), then call string’s constructor to "make the memory be a string object...
阅读全文
摘要:No loop, no EOF test. Just one line: ifstream ifs("test.txt");string str((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); ========================================...
阅读全文
摘要:偶尔发现QQ上有两位好友的签名都是: “临渊羡渔,不如退而结网” 为了保持本人特立独行的传统美德,特意将QQ签名改为: “退而结网,不如临渊羡鱼” 注意由于本人的诸多良好习惯之一,已经成功的将“渔”错打为“鱼”。但我的本意还是“渔”。Tactoth这样讲,自然也不可避免的带了些超级深邃莫测无敌的寓意在其中:你怎么知道人家都是用网的呢?说不定人家用机关枪扫鱼呢!通过这句话,Tactoth意在...
阅读全文
摘要:我觉得自己一直还算是一个很随和的人,想不到挑选一个博客提供服务就这么挑剔。仔细想想原来不是我挑剔,而是选择一个好的博客服务其实是一件重要的事情。博客是一个日积月累的东西,一个有价值的博客往往要至少一年的时间才能培养起来。这样的博客也会给自己带来很多东西。所以通过无数次的Google Query来找到他,是值得的。 经过一番比较,最终决定使用博客园的服务,好处如下: 1. 这里的大多数博客是技术人...
阅读全文