Das wäre eine schlechte Sache zu tun.
Objective-C auf dem iPhone kann tatsächlich die meisten Leistungsverbesserungen von C nutzen.
Wenn Sie sich einige meiner anderen Beiträge ansehen, werden Sie feststellen, dass ich entschieden gegen vorzeitige Optimierung bin, aber wenn Sie auf der C-Ebene codieren, gibt es einfach einige Dinge, die Sie nicht unnötig tun.
- Speicher verschieben
- Strukturen duplizieren
- Spärlich bevölkerte Speicherblöcke zuweisen
- innere Schleifen
- ... (Es gibt noch viel mehr, aber mein C-Leben ist eingerostet und, wie gesagt, ich bin gegen Optimierung)
Was Sie wahrscheinlich möchten, ist eine gut implementierte Warteschlange. Etwas, das eine ausreichend große zirkuläre Speicherstruktur vorab zuweist und dann zwei Zeiger hat, die die ersten und letzten Bytes verfolgen.
Ich wäre ziemlich überrascht zu hören, dass Objective-C keine Warteschlangendatenstruktur hat.
Außerdem, streben Sie nicht nach den Einzeilern. All das Zeug über knappen Code ist überbewertet. Wenn es sinnvoller ist, eine Methode aufzurufen, dann sei es so.
0 Stimmen
Sprechen Sie von einem simplen C-Style-Array oder von einem NSArray/NSMutableArray?
1 Stimmen
Im Falle eines nackten C-Style-Arrays sind Sie schon vor dem Start in Schwierigkeiten: C-Style-Arrays enthalten keine Informationen über ihre Grenzen/gültige Größe. Ich vermute, Sie könnten einen Zeiger auf die gültige Größe übergeben, aber das wird hässlich...
1 Stimmen
Then again, for a C-style array, *p++ accomplishes something very like a shift.
0 Stimmen
Ich hätte erwähnen sollen, dass es sich um ein änderbares Array handelte.