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年開始的),為了脫離實際項目代碼,下面僅用測試例子來反映基本一樣的問題。
閱讀全文