IntroductionA few days back, I was doing a job, and unintentionally, I made a mistake in the code (What mistake? That I will explain in the detailed section of the article), and when I was caught by a bug and started de-bugging it, I was amazed how
mutalbe的中文意思是“可變的,易變的”,跟constant(既C++中的const)是反義詞。 在C++中,mutable也是為了突破const的限制而設定的。被mutable修飾的變數,將永遠處於可變的狀態,即使在一個const函數中。 我們知道,如果類的成員函數不會改變對象的狀態,那麼這個成員函數一般會聲明成const的。但是,有些時候,我們需要在const的函數裡面修改一些跟類狀態無關的資料成員,那麼這個資料成員就應該被mutalbe來修飾。 下面是一個小例子: class
Making your C++ code robustIntroduction 在實際的項目中,當項目的代碼量不斷增加的時候,你會發現越來越難管理和跟蹤其各個組件,如其不善,很容易就引入BUG。因此、我們應該掌握一些能讓我們程式更加健壯的方法。 這篇文章提出了一些建議,能有引導我們寫出更加強壯的代碼,以避免產生災難性的錯誤。即使、因為其複雜性和項目團隊結構,你的程式目前不遵循任何編碼規則,按照下面列出的簡單的規則可以協助您避免大多數的崩潰情況。Background
第一種方法:DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LPTSTR lpBuffer // pointer to buffer for current directory);BOOL SetCurrentDirectory( LPCTSTR lpPathName // pointer to name of new current
http://blog.csdn.net/dreamtdp/article/details/79215051、 int a=2,b=11,c=a+b++/a++; 則c值為多少?【考點】編碼規範。表面上考察你對運算子優先順序的掌握程度,但實際上優先順序這些玩意很難死記硬背得住?大家的疑惑不就是運算子的結合順序嗎?那麼如何去避免呢?c=a+((b++)/(a++))不就行了麼,其實問題背後考察的是你的編碼規範,如何寫清晰易懂的代碼,如何在一個團隊中讓自己的代碼狠容易毫無偏差的讓新人看懂~2、