資料介紹
通常,一個(gè)C語言學(xué)習(xí)者登堂入室的標(biāo)志就是學(xué)會(huì)使用了指針,而成為高手的標(biāo)志又是“玩轉(zhuǎn)指針”。指針是如此奇妙,通過一個(gè)地址,可以指向一個(gè)數(shù),結(jié)構(gòu)體,對(duì)象,甚至函數(shù)。最后的一種函數(shù),我們稱之為“函數(shù)指針”(和“指針函數(shù)”可不一樣?。┚拖袢缦碌拇a:
C語言因?yàn)楹瘮?shù)指針獲得了極強(qiáng)的動(dòng)態(tài)性,因?yàn)槟憧梢酝ㄟ^給函數(shù)指針賦值并動(dòng)態(tài)改變其行為,我曾在單片機(jī)上寫的一個(gè)小系統(tǒng)中,任務(wù)調(diào)度機(jī)制玩的就是函數(shù)指針。

在.NET時(shí)代,函數(shù)指針有了更安全更優(yōu)雅的包裝,就是委托。而事件,則是為了限制委托靈活性引入的新“委托”(之所以為什么限制,后面會(huì)談到)。同樣,熟練掌握委托和事件,也是C#登堂入室的標(biāo)志。有了事件,大大簡化了編程,類庫變得前所未有的開放,消息傳遞變得更加簡單,任何熟悉事件的人一定都深有體會(huì)。但你也知道,指針強(qiáng)大,高性能,帶來的就是危險(xiǎn),你不知道這個(gè)指針是否安全,出了問題,非常難于調(diào)試。事件和委托這么好,可是當(dāng)你寫了很多代碼,完成大型系統(tǒng)時(shí),心里是不是總覺得怪怪的?有當(dāng)年使用指針時(shí)類似的感覺?如果是的話,請(qǐng)看如下的問題:
1. 若多次添加同一個(gè)事件處理函數(shù)時(shí),觸發(fā)時(shí)處理函數(shù)是否也會(huì)多次觸發(fā)?
2. 若添加了一個(gè)事件處理函數(shù),卻執(zhí)行了兩次或多次”取消事件“,是否會(huì)報(bào)錯(cuò)?
3. 如何認(rèn)定兩個(gè)事件處理函數(shù)是一樣的? 如果是匿名函數(shù)呢?
4. 如果不手動(dòng)刪除事件函數(shù),系統(tǒng)會(huì)幫我們回收嗎?
5. 在多線程環(huán)境下,掛接事件時(shí)和對(duì)象創(chuàng)建所在的線程不同,那事件處理函數(shù)中的代碼將在哪個(gè)線程中執(zhí)行?
6. 當(dāng)代碼的層次復(fù)雜時(shí),開放委托和事件是不是會(huì)帶來更大的麻煩?
列下這些問題,下面就讓我們討論這些”尖酸刻薄“的問題。
- 三個(gè)模電項(xiàng)目的詳細(xì)資料說明 1次下載
- 使用C語言控制51單片機(jī)sbit與sfr的用法詳細(xì)資料說明
- 51單片機(jī)IO口的三個(gè)基本操作詳細(xì)資料說明
- 如何使用C語言實(shí)現(xiàn)軟復(fù)位詳細(xì)資料說明
- 如何輕松理解C語言指針的詳細(xì)資料說明 11次下載
- 輕松理解C語言指針的實(shí)驗(yàn)和詳細(xì)資料說明 10次下載
- C++程序設(shè)計(jì)教程之指針的詳細(xì)資料說明 7次下載
- 華為的C語言編程規(guī)范的詳細(xì)資料說明 32次下載
- C語言實(shí)用教程之函數(shù)的詳細(xì)資料說明 3次下載
- C語言教程之指針的詳細(xì)資料說明 9次下載
- C語言教程之使用順序結(jié)構(gòu)設(shè)計(jì)C語言程序的詳細(xì)資料說明 11次下載
- C語言程序設(shè)計(jì)教程之?dāng)?shù)組的詳細(xì)資料說明 7次下載
- C語言教程之Makefile基礎(chǔ)的詳細(xì)資料說明 12次下載
- C語言入門基礎(chǔ)教程之函數(shù)的詳細(xì)資料說明 6次下載
- 如何使用VS2013做C語言編譯器的創(chuàng)建方法詳細(xì)資料說明 8次下載
- C語言指針學(xué)習(xí)筆記 981次閱讀
- C語言指針運(yùn)算符詳解 1.2k次閱讀
- 詳解C語言指針底層基本原理 2.3k次閱讀
- C語言中的懸空指針和野指針是什么意思? 1.7k次閱讀
- C語言中指針的命令行參數(shù) 1.6k次閱讀
- C語言指針和數(shù)組的區(qū)別 2.6k次閱讀
- C語言和C++的特點(diǎn)與用法詳細(xì)說明 5.3k次閱讀
- C語言的入門簡介和三個(gè)簡單的C語言程序詳細(xì)說明 4.5k次閱讀
- 如何進(jìn)行PLC控制程序的設(shè)計(jì)詳細(xì)資料PPT說明 6.9k次閱讀
- 嵌入式開發(fā)之C語言的指針 3.7k次閱讀
- 為什么C語言要引入指針_引入指針的好處是什么 2.3w次閱讀
- C語言使用中指針和內(nèi)存泄漏的問題和解決方案 4.6k次閱讀
- PLC常用基本環(huán)節(jié)梯形圖和詳細(xì)文字說明詳細(xì)資料概述 1.1w次閱讀
- 常用三種指針的設(shè)計(jì)類型詳細(xì)描述 6.6k次閱讀
- 基于C語言中指針的基本用法解析 5.2k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊(cè)
- 3.00 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管BC817數(shù)據(jù)手冊(cè)
- 2.51 MB | 次下載 | 免費(fèi)
- 3MDD品牌三極管D882數(shù)據(jù)手冊(cè)
- 3.49 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊(cè)
- 3.26 MB | 次下載 | 免費(fèi)
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊(cè)
- 3.09 MB | 次下載 | 免費(fèi)
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊(cè)
- 2.32 MB | 次下載 | 免費(fèi)
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動(dòng)汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論