effective C 筆記(一)不明確行為

2021-10-13 15:21:06 字數 1134 閱讀 7346

#include

//包含輸入輸出庫

//#include

using

namespace std;

bool

leapyear

(int);

bool

leapyear

(int year)

//判斷閏年

else

}union myun

u;int k;

}a;classa;

classb;

void

dosomething

(b bobject)

//使用標準的命名空間

intmain

(void

)//主函式

leapyear

(2021);

a.u.x =4;

a.u.y =5;

a.u.z =6;

a.k =0;

//覆蓋掉第乙個int空間值

printf

("%d %d %d %d\n"

,a.u.x,a.u.y,a.u.z,a.k)

;return0;

//返回值為0,表示執行正常

}

如果不加以上53,54的兩行,那麼執行起來是這樣的:

而現在加了53,54行,執行起來是這樣的:

如果把53,54行改為以下內容:

char name=

"darla"

;//name是乙個陣列,大小為6,別忘記最尾端的null!

char c = name [10]

;//指向乙個無效的陣列索引,導致不明確行為。

執行起來是如下結果:

c的值為空,還好後面的也執行了:

effective c 讀書筆記(一)

很早之前就聽過這本書,找工作之前讀一讀。看了幾頁,個人感覺實在是生澀難懂,非常不符合中國人的思維方式。之前也有博主做過筆記,我來補充一些自己的理解。我看有人記了筆記,還不錯 這位博主還寫了more effective c 的讀書筆記 條款3 盡可能使用const 與指標結合,如果const出現在星號...

Effective C 讀書筆記之一

條款1 視c 為乙個語言聯邦 這句話是從c 支援特別多的語言形式來說的,首先它支援過程形式,其次支援物件導向形式 主體 函式形式,泛型形式,元程式設計形式。這些能力和彈性使c 成為乙個無可匹敵的工具。c 作為總語言可以細分為下面四個分語言 c語言 c相比於c 的侷限 沒有模板,沒有異常,沒有過載。o...

Effective C 學習筆記

學習effective c 已經有相當長的一段時間了,今天抽出時間又堵了一遍第一部分 c語言 c 以c語言為基礎,幾乎支援所有的c語言成分,例如區塊 語句 預處理 內建資料型別 陣列 指標等,c語言的侷限是 沒有模板 沒有異常 沒有過載 物件導向的c 也就是加上了物件特性的c,類 封裝 繼承 多型 ...