【讀書筆記】EffectiveC++ 1.讓自己習(xí)慣c++
規(guī)則1 視C++為語言聯(lián)邦
c++中包含有四種次語言 即C,Object C,Template C 和stlC?
在不同應(yīng)用場景下應(yīng)當(dāng)選用不同的編程策略。
規(guī)則2 盡量少用#define
少用define 使用const,static const ,enum和inline 函數(shù)來替代
規(guī)則3 盡量使用const
使用const修飾不會被修改的值 不會修改值的函數(shù) 不會改變指向的指針?
const只要放在*前面就是修飾指針
如果一個(gè)const成員函數(shù)中傳出了成員變量的指針,那么雖然它不會直接修改成員變量,卻產(chǎn)生了成員變量可能被修改的可能。
假如需要修改const函數(shù)中的變量 可以使用mutable命名
使用const_cast可以讓編譯器認(rèn)可對const變量的使用非const方法 借此可以讓非const方法調(diào)用const方法來返回值
規(guī)則4 確定對象使用前已被初始化
使用成員初值列來賦值成員初值,而不是使用構(gòu)造函數(shù),因?yàn)檫@樣效率更高,并且注意順序和聲明順序相同
以local static對象替換non-local static對象是 即通過封裝好的函數(shù)獲取靜態(tài)變量 以保證靜態(tài)變量在使用前一定被聲明?
標(biāo)簽: