C 程式設計小細節

2021-10-09 11:18:18 字數 1120 閱讀 5324

本文寫給自己看看,記錄一些程式設計中的小細節!

1.if(0==a):當我們判斷變數與一常量是否相等時,最好把常量(0)放前面,而不是寫成if(a==0)。因為如果我們手誤,當判斷語句「==」寫成了「=」,那麼if(0=a)會直接報錯,方便我們發現錯誤,而if(a=0)不會。常見情況還有比如:if(nullptr==p)

2.size_t:unsigned int的別名,通常用於迴圈變數和陣列索引。但是要注意,當乙個變數:

size_t a=0;

a--;   //此時a=4294967295=2^32-1

所以,寫迴圈時,如果這樣寫會出錯:for(size_t i=0;i>=0;i--);這樣寫迴圈永遠不會停止,因為當i=0時,進入迴圈體,迴圈體執行完後i--;i會變成2^32-1,接著迴圈。

3.引用作為函式引數:當我們把非常量引用作為函式引數的時候,我們在呼叫函式時,給函式的引數不能是表示式或常量,必須是具體變數。但是如果是常量引用作為函式引數,給函式的引數則可以是表示式或者常量。例如:

#includeusing namespace std;

void swap1(int& a,int& b)

int add(const int& a, const int& b)

int main()

//後置++:(i++)

const int operator++(int)

6.c++類中的靜態成員變數在初始化時,不管該靜態成員變數的屬性是什麼(共有、保護、私有),都可以通過類名::變數名來進行初始化,但是後序訪問,就要遵循 private、protected 和 public 關鍵字的訪問許可權限制了。比如:

class a ;

static int counts;

private:

//static int counts;

};int a::counts = 0; //不管counts的屬性是什麼,都可以這樣進行初始化(但初始化只能進行一次)

int main()

Java程式設計小細節

a 和 的區別?a 最終結果一樣。b 具有短路效果。左邊是false,右邊不執行。是無論左邊是false還是true,右邊都會執行 b 和 的區別?a 最終結果一樣 b 具有短路效果.左邊是true,右邊不執行 是無論左邊是false還是true,右邊都會執行 輔助鍵的練習 alt 快速生成main...

C C 程式設計小細節(一)

此篇博文意欲摘錄要點,記筆記,有些是書上原話也有些根據自己情況概括。因為初學,所以書上有些東西都不了解,以後應再讀一遍該書。2018年11月末 一行 做一件事,如只定義乙個變數。if for while do 等語句自古佔一行,執行語句不得緊跟其後。不論執行語句有多少都要加 這樣可以防止書寫失誤。空...

C語言小細節(三)

第一種 int a int p a 在初始化時另p指向int a的 p 1 第二種 int a int p 先定義乙個指標p p a 再另其指向a p 1 int arr 6 int pa arr 初始化指標pa指向陣列arr 6 的第乙個元素 int pb 初始化指標pb pb arr 令其指向a...