(自我感覺c#中的委託函式就是c++中的函式指標的變化)
委託是一種可以把引用儲存為函式的型別。
委託最終要的用途是與事件處理相關。
委託的宣告非常類似於函式,但不帶函式體,並且使用delegate關鍵字。委託的宣告指定了乙個返回型別和乙個引數列表。在定義了委託後,就可以宣告該委託型別的變數。接著把這個變數初始化為與委託有相同返回型別和引數列表的函式引用。之後就可以使用委託變數呼叫這個函式,就像該變數是乙個函式一樣。(就是c++中的函式指標嘛)
也可以把委託變數作為引數傳遞給乙個函式,這樣,該函式就可以使用委託呼叫它引用的任何函式,而且在執行之前無需知道呼叫的是哪個函式。示例如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ch06ex05
static double divide(double param1, double param2)
static void executefunction(processdelegate process)
static void main(string args)
", process(param1, param2));//委託被看做函式名
executefunction( process );//委託被用作函式的引數
console.readkey();}}
}
C 讀書筆記
1.內建函式 inline必須在呼叫前進行完整定義,語 define相同,但是消除了不安全性 例 inline float circle float r 2,函式原型 語法形式 返回型別 函式名 參數列 1 函式原型的參數列中不包含引數的名字,而只包含型別 2 函式定義由函式說明部分和函式體構成 3...
C 讀書筆記
c陷阱和缺陷 1.賦值符優先順序比邏輯比較低,賦值表示式的結果為賦值後的結果 2.編譯器掃瞄符號使用貪心法,盡量選擇最長字元的符號串,如a 理解為a 而不是a 3.為相容老版本編譯器,不同符號之間最好加空格,如a 1可能理解為a 1,應該改為a 1 4.老版本編譯器,8進製數以0開始,後面可以加超過...
c 讀書筆記
再看一本叫做 stl lectures 的書,裡面有一段 讓我學習了 include includeusing namespace std template const t max const t x,const t y int main 我說這段 讓我學習,不是說它寫的多好 因為這段 在g 4.8...