我剛剛讀了這個Use C Struct in Objective C的問題,我想知道爲什麼有人想在結構中使用函數指針。 不會包裝類中的功能是否等同?爲什麼在Objective-C的結構中使用函數指針?
3
A
回答
3
我不認爲你會在objective-c中需要這樣的東西。
這就是你如何實現C中的多態。這就像定義一個接口。有些框架(包括內核?文件系統)會希望你傳遞一個結構,而你的函數在發生某些事件時不會調用。
如果你確實需要,我認爲你可以使用Objective-C的C++和struct/classes來代替使用函數指針的普通C結構,但是你應該可以使用objective-c。
2
函數指針的用法與C中的類似,用於創建多態行爲,排序一個窮人的對象。除了符合現有的C庫之外,我能想到的唯一理由是爲了獲得比Objective-C方法調度更高的性能優勢。
相關問題
- 1. 在ObjectiveC中使用指針的最大優勢是什麼
- 2. 爲什麼在C結構中使用兩個指針
- 3. 使用函數指針結構的C中的包裝函數
- 4. 指向結構函數指針的函數指針
- 5. 爲什麼我不能從C中的返回結構調用函數指針?
- 6. 使用它的結構指針訪問函數內的結構
- 7. C++使用指針指向函數中的結構
- 8. 使用結構指針和結構變量有什麼區別?
- 9. 函數採用指針結構
- 10. 如何在C中使用結構體,指針和函數?
- 11. C++在函數中使用指針與結構
- 12. 結構成員中的void指針和函數指針
- 13. 結構中的函數。爲什麼?
- 14. 爲什麼智能指針不能在構造函數中爲我調用new()?
- 15. 爲什麼在C中使用指針?
- 16. 函數中使用的結構上的指針
- 17. 使用函數指針爲C結構創建JNA映射
- 18. 爲什麼我不能在C中取消引用指向結構的指針?
- 19. 指向結構和函數指針的指針 - > Seg Fault
- 20. 爲什麼使用指針
- 21. C - 傳遞結構指針VS函數的整數指針
- 22. 調用結構指針的C函數作爲參數
- 23. 在函數中使用指針指針的正確方法是什麼?
- 24. 雙指針在C中的結構有什麼用?
- 25. 爲什麼在這個編程中使用指針指針?
- 26. 爲什麼C結構定義中有嵌套的指針?
- 27. 爲什麼const指針中的非法結構操作?
- 28. vbscript中的函數指針是什麼?
- 29. C++結構數組 - 爲什麼它必須是一個指針?
- 30. 使用結構和指針
這不是一個C問題。 – 2010-02-01 01:57:17
這當然是一個C的問題。在C語言中,函數指針總是被推入結構體中,並且經常與角色繼承爲OO語言提供的角色完全一樣。 – bbum 2010-02-01 04:42:10