原创 C++ 的MetaProgramming 入門篇

C++ 的另一個新世界C++ 的 MetaProgramming 廢話就不說了, 按照C的傳統慣例,介紹programming的最好方式就是show代碼, 第一個例子就是Hello,world, 這篇文章也不例外在任何一個cpp文件中,輸

原创 C++ 20年

 今天逛到到Herb Sutter的blog,提到C++自85年首次商業登場,今年就是20年了。  C++ Connections: 20 Years of C++"C++ Connections is a five-day confer

原创 emacs 設置frame title爲文件路徑名

以前從網站上拉下來一個,不過使用了post-command-hook,參考修改了一下,能夠比較及時顯示。;;;Emacs title bar to r

原创 偉大的DCOM解決方案

MS的COM以及其後提供分佈式對象支持的DCOM/COM+技術現在仍然被廣泛使用,不過官方說法它的未來應該是.Net,.Net有多好我不知道,DCOM有多爛到時略知一二,特別是對應Visual Basic的實現。 COM的前身是OLE,主

原创 鬱悶的VC7 IDE

vc7的開發環境我有幾個地方特別彆扭。1. Esc Esc Esc無法關閉Output等窗口,非要用鼠標去關,選擇“autohide all”吧,它根據你當前的鼠標位置,又老是還沒有來得及看就關了。我一直沒有找到方法可以最大化editor

原创 emacs 刪除匹配的lisp語言

剛剛寫lisp,最頭痛的就是()  之間的匹配總算搞不清楚。雖然有個 (show-paren-mode 1) ,不過只有光標在()上纔有效。嘗試寫了個

原创 自動在c++中插入成員函數 (emacs 擴展)

總算花了幾天功夫看了一下elisp語言,括號看得頭暈,安耐不住寫了一個elisp擴展,現在感覺看一般簡單的lisp也不是那麼痛苦了。用法:可以在c++

原创 C++中的局部靜態對象

一個簡單的class T class T {public:  T()   {   value = 0x12345678;  }  ~T()  {   value = 0;  }  int value;}; 加上一個簡單的foo函數,裏面定

原创 爲什麼說MFC是垃圾

本來是原創文章,發表與論壇,增加修改了一些東西。我說MFC設計得不好, MFC最重要的一個class應該是CWnd,對吧?  一個CWnd多少個字節? 我記得好像是64(60?)個字節。按照你的理解,可能4個字節的HWND以及最多虛擬函數

原创 Symbian中的descriptor

好久沒有寫blog了,最近一直在symbian上開發,對symbian中的字符串進行了一點總結,格式沒有編排,而且比較混亂,實在懶得整理了。TDesC本身只包含兩個成員變量,type和length。type用於避免虛擬函數,length表

原创 C++ 的MetaProgramming 入門篇(2)

上回說到一個fac的版本, 希望在負數的情況下返回-1, 而不是無限遞歸下去. 還是按照我們的思維, 先寫個對應"運行時世界"的版本.int safe_fac(int n){  if( n < 1)     return -1;  ret

原创 C++ vs C 風格的字符串

在cdsn上看了一個帖子,談到std::string的效率比不上c風格的char。因爲std::string使用堆,而c風格的字符串數組在很多情況下可以直接使用棧上的空間,極大的提升了速度。在效率上,C++能夠和C抗衡的一個有力武器就是模

原创 Symbian 智能指針

 在Symbian開發過程中, 由於沒有確定性析構, 最讓人煩躁的就是Cleanup Stack的操作, 當在一個函數中使用局部變量時, 要記得PushL, 然後在函數末尾, 還要PopAndDestroy, 變量一多, 頭昏腦脹,都找不

原创 SlickEdit 一些使用技巧

SlickEdit 使用了幾天以後,發現不僅僅是自動提示,代碼瀏覽,它提供的編輯功能也非常強大。如果說 SourceInsight 和 SlickEdit  在瀏覽代碼上面各有所長,那麼編輯這方面 SE 和 SI 就不是一個級別了。 下面

原创 不要使用VC6自帶的STL

今天一個VC6.0的程序折騰了一天, 最後實在無法定位錯誤, 只好使用VC7.1編譯, 結果一切OK.由於程序中使用了不少STL的東西, 特別是容器等, 於是懷疑是VC6.0自帶的STL問題, 於是又使用S