我知道 C 中存在指针算术,但是任何人都可以举出任何例子来说明为什么指针算术在iOS 的 Objective-C 编程中有用吗?我被难住了……
问问题
986 次
4 回答
2
它实际上用在相当多的地方,这里只是几个......
- 数组访问
每当您使用 C 数组并访问单个元素时(比如说数组 [12],它实际上被解释为 *(array+12)
- OpenGLES
如果您曾经使用过它,它会在 iOS 上广泛使用指针算法,当需要将多个数组打包成一个交错数组时,您必须使用 offsetof,然后将其添加到内存缓冲区以获取属性的完整位置.
- 快速枚举
通过使用指针算法,您可以通过增加实际指针而不是单个变量来加速元素的枚举。
- 某些数据结构的更容易编程
某些数据结构(例如双端队列)使用指针算法更容易实现。
于 2012-05-14T06:56:00.420 回答
2
目标 C 中不使用指针算术。问题是它有什么用处。答案是无。
如上例所示,使用 C 数组不是对目标 C 的使用,而是对 C 的使用。目标 C 数组具有内置枚举功能以及使用 .count 属性的常规语法。
为了回答这个问题,objective C 本身没有使用指针算术,因为它们不是必需的,并且 obj c 数组指针不支持它们。
于 2012-08-08T02:51:56.310 回答
1
Objective C 中的所有指针运算都是从 Objective C 派生的,它是 C 的严格超集,在非从 C 派生的 Objective c 中没有使用。
于 2012-05-14T06:39:02.153 回答
0
我认为它对开发快速枚举(即 for-in 循环)的人非常有用。
于 2012-05-14T06:40:09.273 回答