1

C にポインター演算が存在することは知っていますが、iOS の Objective-C プログラミングでポインター演算が役立つ理由の例を誰か挙げてもらえますか? 私は困惑しています...

4

4 に答える 4

2

実際にはかなりの場所で使用されていますが、ここではほんの一部です...

  • 配列アクセス

C配列を使用し、個々の要素にアクセスするときはいつでも(配列[12]としましょう、実際には*(配列+ 12)として解釈されます

  • OpenGLES

これを使用したことがある場合は、iOS でポインター演算を広範囲に使用します。複数の配列をインターリーブ配列にパックする必要がある場合は、offsetof を使用する必要があります。これはメモリ バッファーに追加され、属性の完全な位置を取得します。 .

  • 高速列挙

ポインター演算を使用すると、個々の変数の代わりに実際のポインターをインクリメントすることで、要素の列挙を高速化できます。

  • 特定のデータ構造のより簡単なプログラミング

deque などの特定のデータ構造は、ポインター演算を使用して実装する方がはるかに簡単です。

于 2012-05-14T06:56:00.420 に答える
2

ポインタ演算は客観的 C では使用されません。答えはありません。

上記の例が示すように C 配列を使用することは、目的 C の使用ではなく、C の使用です。目的 C 配列には、.count プロパティを使用する通常の構文と同様に、列挙機能が組み込まれています。

質問に答えるために、ポインター演算は必要がなく、obj c 配列ポインターによってサポートされていないため、Objective C 自体では使用されません。

于 2012-08-08T02:51:56.310 に答える
1

Objective C のすべてのポインタ演算は、C の厳密なスーパーセットである Objective C から派生したものであり、C から派生していない Objective C では使用されません。

于 2012-05-14T06:39:02.153 に答える
0

高速な列挙 (つまり、for-in ループ) を開発した人々にとっては非常に便利だったと思います。

于 2012-05-14T06:40:09.273 に答える