原创 BUG:命名空間名稱和類名衝突

  1. 錯誤現象下面的代碼會導致一個編譯錯誤: C:/Work/VisualStudio/floodzhu/Class1.cs(9): “floodzhu.Common.Exception”表示“命名空間”,此處應爲“類” using

原创 this指針

this指針與指向對象成員運算符“->”對象成員運算符“.” #include "stdafx.h"#include <iostream.h>#include <string.h> class Person{public: char N

原创 ATL開發COM組件心得

1. ProgID在哪裏這是我剛會用ATL嚮導時遇到的第一個問題。想修改ProgID卻怎麼也找不到。原來它躲在和組件同名的.rgs文件裏,rgs是組件註冊的腳本文件,當你用 Regsvr32.exe註冊組件時,組件內部便是調用了這個文件。

原创 c/c++中指針學習的兩個絕好例子

對於衆多人提出的c/c++中指針難學的問題做個總結:   指針學習不好關鍵是概念不清造成的,說的簡單點就是書沒有認真看,指針的學習猶如人在學習饒口令不多看多學多練是不行的,下面是兩個很經典的例子,很多書上都有,對於學習的重點在於理解*x和

原创 STL技術文章不完全列表(STL學習使用指南)

STL技術文章不完全列表(STL學習使用指南) 本文來源於Winter's Blog: 最優秀的STL學習指南網站 在網絡上,關於STL使用的有許多優秀的文檔,本文收集了一些經典的中文和英文文章,包含STL中的標準容器 vector

原创 C++中用函數模板實現和優化抽象操作

本文介紹函數模板的概念、用途以及如何創建函數模板和函數模板的使用方法......   在創建完成抽象操作的函數時,如:拷貝,反轉和排序,你必須定義多個版本以便能處理每一種數據類型。以 max() 函數爲例,它返回兩個參數中的較大者: do

原创 重載、覆蓋與隱藏

重載與覆蓋成員函數被重載的特徵:(1)相同的範圍(在同一個類中);(2)函數名字相同;(3)參數不同;(4)virtual關鍵字可有可無。覆蓋是指派生類函數覆蓋基類函數,特徵是:(1)不同的範圍(分別位於派生類與基類);(2)函數名字相同

原创 區分成員函數、非成員函數、友元函數

成員函數與非成員函數最大的差異是,成員函數可以是虛擬函數,而非成員函數不可以。所以如果你有一個函數需要動態綁定(直到執行時期再確定應該調用哪一個函數),你必須用虛擬函數,而此虛擬函數必須是成員函數。 假設f是想正確聲明的函數,C是和它相關

原创 C++ 中重載 + 操作符的正確方法

用戶定義的類型,如:字符串,日期,複數,聯合體以及文件常常重載二元 + 操作符以實現對象的連接,附加或合併機制。但是要正確實現 + 操作符會給設計,實現和性能帶來一定的挑戰。本文將概要性地介紹如何選擇正確的策略來爲用戶定義類型重載這個操作

原创 XML在B/S架構開發中的應用

傳統上, 我們利用JSP+Bean來開發用戶界面, 這裏介紹一種利用XML+XSLT的方法來替代JSP  動機:  1. JSP構造頁面太痛苦. 代碼嵌入頁面導致頁面臃腫, 邏輯複雜, 不易編輯.  2. 程序員和美工的接口必須精確定義.

原创 C++中用vectors改進內存的再分配

 摘要:本文描述的是一種很常見的情況:當你在某個緩存中存儲數據時,常常需要在運行時調整該緩存的大小,以便能容納更多的數據。本文將討論如何使用 STL 的 vector 進行內存的再分配。  這裏描述的是一種很常見的情況:當你在某個緩存中存

原创 C/C++中字符指針數組及指向指針的指針的含義

就指向指針的指針,很早以前在說指針的時候說過,但後來發現很多人還是比較難以理解,這一次我們再次仔細說一說指向指針的指針。  先看下面的代碼,注意看代碼中的註解: #include <iostream>  #include <string>

原创 Effective STL 中文版(大全)

Effective STL 中文版(大全) 作者: winter 候捷說,對於STL,程序員有三個境界,開始是使用STL,然後是理解STL,最後是補充STL。Effective STL是一本非常好的書,幫助你更好的理解STL,其作者就

原创 深入探討C++中的引用

摘要:介紹C++引用的基本概念,通過詳細的應用分析與說明,對引用進行全面、透徹地闡述。  關鍵詞:引用,const,多態,指針  引用是C++引入的新語言特性,是C++常用的一個重要內容之一,正確、靈活地使用引用,可以使程序簡潔、高效。我

原创 詳解C++友元

在說明什麼是友元之前,我們先說明一下爲什麼需要友元與友元的缺點:   通常對於普通函數來說,要訪問類的保護成員是不可能的,如果想這麼做那麼必須把類的成員都生命成爲public(共用的),然而這做帶來的問題遍是任何外部函數都可以毫無約束的訪