程式設計珠璣第九章

2021-06-08 02:03:30 字數 333 閱讀 3026

1、記憶體訪問(連續記憶體訪問與跨頁面訪問記憶體的區別)

注意在訪問記憶體的時候,要注意記憶體的連續性,如果訪問的記憶體不是連續的,那麼程式的執行速度也會受到極大的影響

例如訪問乙個二維陣列時,先訪問行,再訪問列,能夠減少頁面排程次數,同時cache命中率也相對高些。

2、遞迴呼叫巨集時,需要小心,巨集中的某個引數被呼叫了多次以致數值發生了變化

#define  max(a,b)  ((a>b)?:(a):(b))   

// max(i++,j++),呼叫之後,i、j的值可能會增加兩次

//max(i++,func(j++)),呼叫之後,可能會導致函式func()被呼叫兩次

用hash表實現搜尋 《程式設計珠璣》第九章

用hash表實現搜尋,時間複雜度是o n 但是空間複雜度也是o n 一般要比n大。優點是待搜尋的陣列不需要是排序好的。此 用鍊錶來實現hash表的,用鍊錶來解決衝突,我覺得這個解決衝突的辦法相對高效些。include include include includeusing namespace st...

第九章(筆記)

轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...

第九章作業

班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...