一、 編譯鏈接成功,程序運(yùn)行崩潰: android平臺a) dynamic_cast編譯通過,運(yùn)行崩潰編譯選項設(shè)置錯誤,需要設(shè)置-DANDROID_STL=c++_sha...
一、 編譯鏈接成功,程序運(yùn)行崩潰: android平臺a) dynamic_cast編譯通過,運(yùn)行崩潰編譯選項設(shè)置錯誤,需要設(shè)置-DANDROID_STL=c++_sha...
可能出現(xiàn) ./main: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev, version...
1.行長度每一行代碼字符數(shù)不超過80結(jié)論:80個字符是最大值。例外:1)如果一行注釋包含了超過80個字符的,命令或者URL,出于復(fù)制粘貼的方便可以超過80個2)頭文件保護(hù) 2...
注釋是為別人而寫的。 1.注釋風(fēng)格使用//或者/* */,統(tǒng)一就好//更加廣泛,在如何注釋和注釋風(fēng)格上確保統(tǒng)一 2.文件注釋在每一個文件開頭加入版權(quán)公告,然后是文件內(nèi)容描述。...
命名風(fēng)格直接可以確定命名實體是:類型、變量、函數(shù)、常量、宏等等,無需查找實體聲明,大腦中的模式匹配引擎依賴于這些命名規(guī)則。 1.通用命名規(guī)則函數(shù)命名、變量命名。文件命名都應(yīng)具...
1.智能指針如果確實需要使用智能只恨的話,scoped_ptr完全可以勝任。早費城特殊的情況下,例如對STL容器中對象,你應(yīng)該只使用std::tr1::shared_ptr,...
1.構(gòu)造函數(shù)的職責(zé)構(gòu)造函數(shù)只進(jìn)行那些沒有實際意義的初始化,可能的話,使用Init()方法集中初始化為有意義的數(shù)據(jù)定義:在構(gòu)造函數(shù)中執(zhí)行初始化操作優(yōu)點:排版方便,無需擔(dān)心類是否...
1.命名空間在.c文件中,提倡使用不具名的命名空間(不具名的命名空間就像不具名的類一樣)。使用具名命名空間時,其名稱可基于項目或者路徑名稱,不要使用using指示符定義:命名...
第一章 頭文件每一個.c文件都有一個對應(yīng)的.h文件,例外的一般只有main(),因此需要正確的使用頭文件 define保護(hù): 所有的頭文件都應(yīng)該使用#define,防止頭文...
今天無意看到一段源碼嗎?我沒有看懂,我一直認(rèn)為set容器時無序的,而且認(rèn)為set<>中只能有一個變量,后來了解到set自定義排序:原本看不懂的代碼如下: 如果讀者可以看懂上述...
內(nèi)存訛誤(memory corruption):內(nèi)存泄漏、過早的刪除操作C++針對這兩種問題提供了解決方案:引用計數(shù)(reference counting),基本思想是:將銷...
第十三章 編碼優(yōu)化 緩存:常見的是將循環(huán)內(nèi)可以提前計算的在循環(huán)外部計算 預(yù)先計算:如果將字母全部轉(zhuǎn)化為大寫(頻繁調(diào)用),可以先將所有字母對應(yīng)的大寫字母存儲下來,然后直接轉(zhuǎn)化...
總結(jié):a. STL是抽象、靈活性和效率的一種罕見的結(jié)合。b. 對于某種特定的應(yīng)用模式,一些容器比其他的更加高效c. 除非了解了一些相關(guān)領(lǐng)域內(nèi)STL所忽略的問題,否則無法超越S...
條件內(nèi)聯(lián):編譯,調(diào)試和配置等過程與內(nèi)聯(lián)存在一定的沖突,因此做這些工作時,都希望將內(nèi)聯(lián)決策推遲到開發(fā)周期的后期。思路:利用編譯行參數(shù)向編譯器傳遞一個宏定義。輸入?yún)?shù)用來定義名為...