,但谁能举出任何例子来说明为什么指针算术在 iOS 的 Objective-C 编程中很有用?我被难住了...
它实际上在很多地方使用,这里只是几个......
- 阵列访问
每当你使用一个 C 数组并访问一个单独的元素(比如说数组[12])时,它实际上被解释为 *(array+12)
- 开放格栅
如果你曾经使用过这个,它在iOS上广泛使用指针算法,当需要将多个数组打包到一个交错数组中时,你必须使用offsetof,然后将其添加到内存缓冲区以获取属性的完整位置。
- 快速枚举
通过使用指针算术,您可以通过递增实际指针而不是单个变量来加快元素枚举的速度。
- 更容易对某些数据结构进行编程
某些数据结构(如双端)更容易使用指针算法实现。
指针算术不用于目标 C。 问题是它会有什么用。 答案是没有。
如上例所示,使用 C 数组不是目标 C 的用法,而是 C 的用法。 目标 C 数组具有内置的枚举功能以及使用 .count 属性的语法规范。
为了回答这个问题,指针算法不用于目标 C 本身,因为它们不是必需的,并且不受 obj c 数组指针的支持。
严格超集,在目标 C 中没有用法不是从 C 派生的。
我认为它对于开发快速枚举(即for-in循环)的人来说非常有用。