關於c++表示式與語句的傳說
本想一鼓作氣繼續我的c++之路,但昨天開會,專案新開發新的功能,so,c++學習之路可能會擱置一定時間,不過我會堅持,因為有部落格的監督(寫部落格是乙個好習慣),那麼接下來就直接進入正題。
這裡做乙個簡單的測試
int cnt = 10, ix = 0;
vectorvec;
while (0 < cnt)
這裡vec[ix]輸出的值有所不同,在於操作符前後置的緣故,前自增操作和後自增操作都使其運算元+1。
區別在於:前自增操作將修改後運算元的值作為表示式的結果值;
而後自增操作將運算元原來的、未修改的值作為表示式的結果值。
一旦刪除了指標所指向的物件,立即將指標置為0,這樣就非常清楚的表明指標不再指向任何物件。
c++的預處理:
什麼是c++的預處理:
c++的預處理(preprocess),是指在c++程式源**被編譯之前,由預處理器(preprocessor)對c++程式源**進行的處理。這個過程並不對程式的源**進行解析,但它把源**分割或處理成為特定的符號用來支援巨集調調用。
預處理器的功能:
預處理器的主要作用就是把通過預處理的內建功能對乙個資源進行等價替換,最常見的預處理有:檔案包含,條件編譯、布局控制和巨集替換4種。
檔案包含:#include 是一種最為常見的預處理,主要是做為檔案的引用組合源程式正文。
條件編譯:#if,#ifndef,#ifdef,#endif,#undef等也是比較常見的預處理,主要是進行編譯時進行有選擇的挑選,注釋掉一些指定的**,以達到版本控制、防止對檔案重複包含的功能。
布局控制:#progma,這也是我們應用預處理的乙個重要方面,主要功能是為編譯程式提供非常規的控制流資訊。
巨集替換: #define,這是最常見的用法,它可以定義符號常量、函式功能、重新命名、字串的拼接等各種功能。
預編譯標頭檔案通過編譯stdafx.cpp生成,以工程名命名,由於預編譯的標頭檔案的字尾是「pch」,所以編譯結果檔案是projectname.pch。
編譯器通過乙個標頭檔案stdafx.h來使用預編譯標頭檔案。stdafx.h這個頭檔名是可以在project的編譯設定裡指定的。編譯器認為,所有在指令#include "stdafx.h"前的**都是預編譯的,它跳過#include "stdafx. h"指令,使用projectname.pch編譯這條指令之後的所有**。
因此,所有的mfc實現檔案第一條語句都是:
#include "stdafx.h"。
2014之C 學習筆記(一)
已經有很長一段時間沒有寫部落格了,可能大家已經淡忘了etwo這個人的存在,這一年多以來,本人從事了as的相關開發工作,但最近一段時間,as在 的沒落,相信有很多碼農也都清楚,現在的頁遊基本上達到飽和,手機上的遊戲基本被unity3d與cocos佔據,as基本沒有容身之處。so。最近我並不打算直接轉型...
C 學習筆記(三)
c 運算子過載 1 過載運算子的運算順序和優先順序不變,但引數和返回型別是可以重新說明的。2 c 規定,運算子中,引數說明都是內部型別的,不能過載,如 int operator int,int 3 c 還規定了 這五個運算子不能過載,也不能創造新的運算子,如 4 c 規定 這四種運算子必須為成員形式...
C 學習筆記(三)
chapter 3 函式和類的自頂向下設計 1 乙個程式的開發過程 1.問題規範 2.分析 資料需求 3.設計 初始演算法 演算法精化 4.實現 5.測試 2 重要工具 結構圖 3 分析,設計程式時,甚至對任何問題來說,我們都要由大到小,層層分解,由乙個大問題分割成多個相關 的小問題,一口乙個蛋糕是...