Objective-C / iOS编程中有用的指针算术的任何示例


我知道 C 语言中存在指针算术

,但谁能举出任何例子来说明为什么指针算术在 iOS 的 Objective-C 编程中很有用?我被难住了...

它实际上在很多地方使用,这里只是几个......

  • 阵列访问

每当你使用一个 C 数组并访问一个单独的元素(比如说数组[12])时,它实际上被解释为 *(array+12)

  • 开放格栅

如果你曾经使用过这个,它在iOS上广泛使用指针算法,当需要将多个数组打包到一个交错数组中时,你必须使用offsetof,然后将其添加到内存缓冲区以获取属性的完整位置。

  • 快速枚举

通过使用指针算术,您可以通过递增实际指针而不是单个变量来加快元素枚举的速度。

  • 更容易对某些数据结构进行编程

某些数据结构(如双端)更容易使用指针算法实现。

指针算术不用于目标 C。 问题是它会有什么用。 答案是没有。

如上例所示,使用 C 数组不是目标 C 的用法,而是 C 的用法。 目标 C 数组具有内置的枚举功能以及使用 .count 属性的语法规范。

为了回答这个问题,指针算法不用于目标 C 本身,因为它们不是必需的,并且不受 obj c 数组指针的支持。

目标 C 中的所有指针算术都是从目标 C 派生的,是 C 的

严格超集,在目标 C 中没有用法不是从 C 派生的。

我认为它对于开发快速枚举(即for-in循环)的人来说非常有用。

最新更新