Permettez-moi de vous dire une chose en premier. C ++ est plus rapide que les appels Objective-C. Objective-C utilise des systèmes de transmission de messages, il aura donc une surcharge d'exécution par rapport à C ++. Jetez un œil à certaines des comparaisons ici .
En ce qui concerne le développement général des «applications» sur iOS, il est logique d'utiliser les fonctions intégrées d'Objective-C car les performances ne peuvent pas être un grand nombre de critères dans une certaine mesure. Mais dans le développement de jeux, nous devons considérer ces résultats.
Lorsque je travaillais sur mon projet précédent (Robokill), nous avons optimisé la plupart du code là où cela était nécessaire avec des appels plain-C (nous avons converti notre classe de particules Objective-C en classe C ++). Ou vous pouvez même utiliser les fonctions d'exécution Objective-C pour les appels C directs.
Pour en venir à votre question, voici ma réponse: oui, STL est bien optimisé pour son objectif . Même si le code d'implémentation n'est pas très lisible, il est intéressant de vérifier une fois l'implémentation.
Cependant, nous pouvons optimiser le code Objecive-C dans une certaine mesure, en mettant en cache les pointeurs de fonction et en effectuant des appels avec le runtime Objective-C.
J'espère que cela t'aides!