我刚刚读了这个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. 什么是函数指针的使用?
- 11. C++使用指针指向函数中的结构
- 12. 使用结构指针和结构变量有什么区别?
- 13. 使用结构指针作为参数原型化函数
- 14. 为什么LLVM IR结构中的函数指针字段被{} *替换?
- 15. 为什么cudaMalloc()使用指针指针?
- 16. 函数采用指针结构
- 17. C++在函数中使用指针与结构
- 18. 如何在C中使用结构体,指针和函数?
- 19. 结构中的函数。为什么?
- 20. 结构成员中的void指针和函数指针
- 21. 为什么智能指针不能在构造函数中为我调用new()?
- 22. 为什么在C中使用指针?
- 23. 函数中使用的结构上的指针
- 24. 为什么我不能在C中取消引用指向结构的指针?
- 25. 使用函数指针为C结构创建JNA映射
- 26. 将结构(指向结构?的指针?)传递给函数
- 27. 为什么使用指针
- 28. 指向结构和函数指针的指针 - > Seg Fault
- 29. 在函数中使用指针指针的正确方法是什么?
- 30. 调用结构指针的C函数作为参数
这不是一个C问题。 – 2010-02-01 01:57:17
这当然是一个C的问题。在C语言中,函数指针总是被推入结构体中,并且经常与角色继承为OO语言提供的角色完全一样。 – bbum 2010-02-01 04:42:10