Frage

Ich bekomme meine Füße in Objective-C und Kakao (ich weiß, wahrscheinlich spät, aber hey, ich muss irgendwo anfangen) und ich bemerkte, dass alle Objekte aus dem Haufen zugewiesen werden.

Gibt es einen Grund, warum dies der Standard in Objective-C ist? Ich habe überall versucht (und ja, sogar auf Stackoverflow), aber ich konnte keinen expliziten Grund finden, außer "So ist es". Ich bin besonders begeistert, weil Objective-C mit OO-Funktionen als strikter Supersatz von C angesehen wird.

Wenn ich einen Artikel über den verpasst habe Interblag Oder einen Beitrag über Stackoverflow aus Versehen zu diesem Thema, bitte initiieren Sie eine anmutige Abschaltung. :)

War es hilfreich?

Lösung

Ich denke, das schuldet dem SmallTalk -Erbe.

Außerdem könnte man sagen, dass Stack-zuallozierte Objekte eine Besonderheit von C ++ sind. Sehr wenige andere Sprachen tun das und meistens als Optimierung auf niedriger Ebene für den Compiler. In C ++ ist es vernünftig, da eines der angegebenen Ziele darin bestand, zu sein exakt so leistungsstark wie einfach C.

Warum ist dies im Konflikt mit der Tatsache, dass Objective-C ein supersatz von C ist? Immerhin weder einfacher C weder Objekte auf dem Stapel zuordnen ... noch irgendwo irgendwo. structS, OTOH, sind sowohl auf C als auch auf C. und Objective-C erlaubt

Andere Tipps

Ich beantworte Ihre Frage nicht genau, aber da Sie die Laufzeit von OBJ-C verstehen, geht es hier. Sie können Objekte effizienter mit NSZones zuweisen. Sie werden sie nicht im Stapel haben, aber zumindest können Sie einige Fragmentierungs- und Leistungsprobleme vermeiden:Link Text

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top