書(shū)名:《Visual C++代碼參考與技巧大全》,電子工業(yè)出版社
“聰明的人使用Delphi,真正的程序員使用 C++。”
時(shí)至今日,這句曾經(jīng)在業(yè)內(nèi)廣為流行的話語(yǔ)又增添了更豐富的內(nèi)涵。
腳本語(yǔ)言、Java、.NET等正在爭(zhēng)奪更大的天地。
然而,C/C++仍不失為最好、最純粹的編程語(yǔ)言。
今天看書(shū),看到下面一段話,收獲不錯(cuò),發(fā)現(xiàn)自己轉(zhuǎn)學(xué)C++算是比較明智的選擇,呵呵,自戀一下。
“未來(lái)C++主要在系統(tǒng)級(jí)復(fù)雜應(yīng)用程序,高性能、實(shí)時(shí)中間件和嵌入式領(lǐng)域發(fā)揮所長(zhǎng)。隨著多核CPU的普及和網(wǎng)絡(luò)安全重要性的空前提升,在并發(fā)程序設(shè)計(jì)、系統(tǒng)安全及視頻處理、嵌入式開(kāi)發(fā)方面。C++將獲得新的應(yīng)用空間。在大規(guī)模、高性能計(jì)算,游戲開(kāi)發(fā)、嵌入式實(shí)時(shí)應(yīng)用開(kāi)發(fā)方面,以及一些傳統(tǒng)的客戶端軟件和構(gòu)件開(kāi)發(fā)中,C++也將繼續(xù)保持其穩(wěn)定的地位。
作為一個(gè)優(yōu)秀的開(kāi)發(fā)人員,不僅僅要有相關(guān)的項(xiàng)目經(jīng)驗(yàn),還要有堅(jiān)實(shí)的C++編程基礎(chǔ)、深厚的數(shù)據(jù)結(jié)構(gòu)知識(shí)及廣闊的知識(shí)面,當(dāng)然良好的編程風(fēng)格也是不可或缺的一部分。”
還看到,關(guān)于面向?qū)ο蟮娜齻€(gè)英文單詞,呵呵重復(fù)一遍,強(qiáng)調(diào)重要:封裝性(Encapsulation)、繼承性(Inheritance)、多態(tài)性(Polymorphism)
好了,廢話不多說(shuō)了,下面是該書(shū)的隨筆索引
第1頁(yè)~第12頁(yè)(點(diǎn)擊這個(gè)可進(jìn)入相關(guān)頁(yè)面)
講的是關(guān)于C++編程規(guī)范和排版技巧。涉及到:
1、程序的排版,2、添加注釋的技巧,3、標(biāo)識(shí)符命名的技巧,
4、復(fù)合表達(dá)式的書(shū)寫(xiě)技巧,5、if語(yǔ)句的書(shū)寫(xiě)技巧,
6、提高循環(huán)體效率的技巧,7、break和continue的說(shuō)明
第12頁(yè)~第22頁(yè)(點(diǎn)擊這個(gè)可進(jìn)入相關(guān)頁(yè)面)
講的是內(nèi)容如下:
1、函數(shù)設(shè)計(jì)的技巧,2、宏定義的技巧,3、 const使用技巧,4、 sizeof使用技巧
第22頁(yè)~第26頁(yè)(點(diǎn)擊這個(gè)可進(jìn)入相關(guān)頁(yè)面)
講的是函數(shù)與預(yù)處理技巧:
1、在C++中調(diào)用C編譯器函數(shù),2、內(nèi)聯(lián)函數(shù)和宏的比較,3、 #include<filename.h>和#include “filename.h”的區(qū)別,
4、 回調(diào)函數(shù)的概念與操作技巧,5、函數(shù)的調(diào)用規(guī)范
第27頁(yè)~第37頁(yè)
講的是C++數(shù)據(jù)類型轉(zhuǎn)換技巧:(點(diǎn)擊下面的可進(jìn)入相關(guān)頁(yè)面)
1、 將“字符串”轉(zhuǎn)化換為“整數(shù)”,2、 其他數(shù)據(jù)類型轉(zhuǎn)換為“字符串”,
3、 將“字符串”轉(zhuǎn)換為其他的數(shù)據(jù)類型 4、 “char*”和“CString”的相互轉(zhuǎn)換
5、 CString與BSTR的相互轉(zhuǎn)換,6、 BSTR、_bstr_t與CComBSTR的關(guān)系
7、 typedef和typename關(guān)鍵字,8、 UNICODE的處理技巧
9、 UNICODE字符串和MBCS字符串的相互轉(zhuǎn)換,10、VARIANT的處理技巧
第38頁(yè)~第51頁(yè)
講的是內(nèi)存管理技巧:(點(diǎn)擊下面的可進(jìn)入相關(guān)頁(yè)面)
1、 內(nèi)存分配的不同方式 2、 避免內(nèi)存泄露的方法 3、 數(shù)組和指針的區(qū)別與處理技巧
4、 指針與引用的區(qū)別 5、 this指針 6、 傳遞動(dòng)態(tài)內(nèi)存
7、 杜絕“野”指針 8、 C++中堆內(nèi)存操作方法
第51頁(yè)~第65頁(yè)
講的是面向?qū)ο缶幊痰募记桑海c(diǎn)擊下面的可進(jìn)入相關(guān)頁(yè)面)
1、 struct和class區(qū)別 2、 構(gòu)造函數(shù)和析構(gòu)函數(shù) 3、 函數(shù)的多態(tài)
4、 重載、覆蓋和隱藏的比較 5、 運(yùn)算符重載
第68頁(yè)~第92頁(yè)
講的是VC開(kāi)發(fā)環(huán)境設(shè)置和編譯調(diào)試技巧,我覺(jué)得我應(yīng)該先看這個(gè),真不知道這個(gè)書(shū)的順序是怎么安排的。
1、 VC開(kāi)發(fā)環(huán)境的設(shè)置:(點(diǎn)擊下面的可進(jìn)入相關(guān)頁(yè)面)
1.1 VC++編程快捷鍵應(yīng)用技巧
1.2 設(shè)置編輯區(qū)背景顏色和字體的技巧
1.3 設(shè)置顯示的最近打開(kāi)工程、文件的個(gè)數(shù)的技巧
1.4 設(shè)置VC默認(rèn)頭文件和庫(kù)文件
1.5 引入lib庫(kù)到工程中
1.6 在工作區(qū)(WorkSpaces)中導(dǎo)入多個(gè)項(xiàng)目
1.7 ClassView視圖
1.8 讓控制臺(tái)應(yīng)用程序支持MFC類庫(kù)
1.9 快速刪除臨時(shí)文件
1.10 檢測(cè)程序中的括號(hào)是否匹配
1.11 快速找到變量或者函數(shù)、宏的定義
1.12 成員變量或函數(shù)不能顯示提示功能
1.13 VC生成的各種文件的作用
1.14 生成新類到工程中
1.15 添加第三方的類到工程中
1.16 徹底刪除工程的類
1.17 改變生成.exe文件的路徑
1.18 處理ClassZiard找不到系統(tǒng)消息的技巧
1.19 輸出區(qū)的“Find in Files 2”屬性頁(yè)
1.20 誤刪除類向?qū)募?br> 1.21 發(fā)布程序設(shè)置
1.22 生成與現(xiàn)有項(xiàng)目除了項(xiàng)目名外完全相同的新項(xiàng)目
2、VC程序調(diào)試技巧:(點(diǎn)擊下面的可進(jìn)入相關(guān)頁(yè)面)
2.1 Debug版本和Release版本的區(qū)別
2.2 Release版本的調(diào)試技巧
2.3 斷點(diǎn)調(diào)試
2.4 值調(diào)試技巧
2.5 Call Stack技巧(調(diào)用堆棧調(diào)試)
2.6 ASSERT()調(diào)試技巧
2.7 TRACE調(diào)試技巧
2.8 Try-Catch的使用技巧
2.9 利用GetLastError()的返回值確定錯(cuò)誤信息
2.10 dll工程的調(diào)試技巧
2.11Link2001的常見(jiàn)錯(cuò)誤
2.12 VC++的優(yōu)化技術(shù)
第94頁(yè)~第116頁(yè)
講的是鍵盤(pán)輸入處理技巧(可點(diǎn)擊下面的進(jìn)入相關(guān)頁(yè)面):鍵盤(pán)是一個(gè)物理設(shè)備,在計(jì)算機(jī)中存在唯一的標(biāo)識(shí)值與物理鍵盤(pán)相對(duì)應(yīng),并在鍵被按下或者釋放時(shí)產(chǎn)生一個(gè)掃描碼,也與唯一的標(biāo)識(shí)值對(duì)應(yīng)。但掃描碼是與具體設(shè)備有關(guān),為了使掃描碼變得與設(shè)備無(wú)關(guān),那么就產(chǎn)生了一個(gè)虛擬碼。虛擬碼是Windows系統(tǒng)定義的與設(shè)備無(wú)關(guān)的標(biāo)識(shí)。Windows的程序是以消息機(jī)制來(lái)實(shí)現(xiàn)的,鍵盤(pán)輸入也是以消息的形式傳遞給程序的窗口消息處理程序的。Windows用8種不同的消息來(lái)傳遞不同的鍵盤(pán)事件,但是在實(shí)際應(yīng)用過(guò)程中,可以忽略其中至少一半的信息,其他的消息都由操作系統(tǒng)自動(dòng)處理。在多數(shù)情況下,這些消息中包含的鍵盤(pán)信息會(huì)多于程序所需要的。所以在對(duì)鍵盤(pán)消息處理的時(shí)候,要分清哪些消息是程序應(yīng)該處理的,哪些消息參數(shù)是可以忽略的,這樣,使開(kāi)發(fā)工作的效率大大提高了。下面就這對(duì)鍵盤(pán)的處理技巧進(jìn)行介紹。
1、ASCII碼查詢器 2、虛擬鍵碼和掃描碼相互轉(zhuǎn)換 3、字符轉(zhuǎn)換為虛擬鍵碼
4、模擬鍵盤(pán)特殊組合鍵輸入 5、模擬鍵盤(pán)輸入特殊字符 6、動(dòng)態(tài)改變鍵盤(pán)的狀態(tài)
7、鍵盤(pán)鉤子程序的實(shí)現(xiàn) 8、創(chuàng)建進(jìn)程外鉤子 9、安裝系統(tǒng)鍵盤(pán)鉤子
10、如何屏蔽【Alt+Esc】/【Alt+Tab】等組合鍵
11、獲得桌面上的正在接受鍵盤(pán)或鼠標(biāo)輸入的窗口的HWD
12、捕獲鍵盤(pán)【Home】等虛擬鍵
13、使用回車鍵切換輸入焦點(diǎn)
第117頁(yè)~第126頁(yè)
講的是鼠標(biāo)輸入處理技巧(可點(diǎn)擊下面的進(jìn)入相關(guān)頁(yè)面)
1、隨時(shí)獲得鼠標(biāo)的窗口位置 2、在非客戶區(qū)相應(yīng)鼠標(biāo)消息 3、鎖定鼠標(biāo)的活動(dòng)范圍
4、更改程序的默認(rèn)光標(biāo) 5、隱藏和顯示光標(biāo) 6、交換鼠標(biāo)左右鍵和恢復(fù)
7、不規(guī)則窗口隨鼠標(biāo)移動(dòng)而移動(dòng) 8、檢測(cè)鼠標(biāo)是否在任意圖形區(qū)域內(nèi)
9、SetCapture函數(shù)使用技巧 10、判斷鼠標(biāo)是否與【Ctrl】鍵共同操作
11、獲取和設(shè)置鼠標(biāo)雙擊時(shí)間