C++
摘要: 项目中和自己代码中大量使用了STL的容器,平时也没怎么关注alloc的具体实现细节,主观认识上还停留在侯捷大师的《STL源码剖析》中的讲解。
但是目前编译器的实现,早已经不是书中所言……
阅读全文
摘要: virtual function是很多公司面试题的重点考察内容,虽然对于C++而言这是一个老生常谈的话题了,但是工作中我发现还是有很多人理解的不透彻。
先看下面的一个例子
阅读全文
摘要: 上午一个师弟在QQ上问我一道笔试题,是他前两天去KONAMI面试时做的,这道题大致是这样的:
解释以下语句的含义:
1、new A;
2、new A();
也许很多人包括我自己,都可以马上给出第一种情况的答案:在堆上为A类分配内存,然后调用A的构造函数。这种说法被大家所熟知,因为包括《STL源码剖析》等大作在内也都是这么写的(但是你认为这种说法完全正确吗?其实不尽然,答案后面揭晓)
第二种情况,对象构造的时候初始化列表为空会和第一种有什么不同呢?对于这种在实际工程中很少使用的情况,我一时还真给不出确切的答案。
阅读全文
摘要: 昨天在一个论坛里看到一个帖子,是关于无限循环的选择问题,之前也看到过很多次说空for比while(1)效率高的论述,只是之前一直没有功夫去考证。
话不多说,直入正题。
阅读全文
摘要: 前段时间在写《段错误造成的常见诡异宕机情况总结(中)》时,分析到 程序中数据写超时有可能写到this指针所在的地址里面,导致最终诡异的宕机。其实网络攻防里常用的缓冲区溢出攻击也是这个道理,除了使用户程序甚至计算机挂掉外,还有可能执行攻击者想执行的任何程序,这篇文章主要详细剖析一下第二种攻击的方法以及现在Linux(包括各种修改版本,例如Android)、Windows下常使用的防范措施。
阅读全文
摘要: 最近在做一个军团系统的资料片开发,因为策划提出了很多遍历某一军团当前所有在线玩家的操作(例如发公告、拉人、给奖励),所以就想到了用回调。
脱离实际项目代码,先看一下示例实现:
阅读全文
摘要: 工作当中遇到过好几次比较诡异的问题,最后基本都是编译器捣的鬼,在此总结一下,以供大家参考,不对之处希望踊跃拍砖(peakflys原创作品,转载注明 )
编译环境:GCC 3.4.5 20051201 (项目组早期代码从04年开始的),为了脱离实际项目代码,下面仅用测试例子来反映基本一样的问题。
阅读全文