pourquoi le pointeur est plus efficace ou supérieur à la déclaration de tableau?pourquoi le pointeur est plus efficace que le tableau en cours d'utilisation
Répondre
Vous comparez des pommes à des oranges.
Un pointeur contient une valeur qui est l'adresse d'une autre variable. Un tableau est une collection contiguë d'éléments. Ils ne sont pas les mêmes.
Si vous clarifiez votre question, nous pourrions vous donner une meilleure réponse. À l'heure actuelle, c'est plutôt insignifiant.
Lors de mes tests (il y a quelques années), j'ai trouvé exactement le contraire - une référence de tableau était plus rapide qu'un pointeur. Je pense que c'était avec MSVC 6.0. Tout dépend du code d'assemblage que le compilateur décide de générer, et c'est assez arbitraire.
Pour clarifier les choses, je comparais quelque chose comme ce qui suit:
for (int i = 0; i < length; ++i)
sum += p[i];
for (int i = 0; i < length; ++i)
sum += *p++;
Ils ne sont pas. Selon la norme C, a[x]
est juste sucre syntaxique pour *(a+x)
. En fait, les processeurs modernes peuvent produire du code parfois plus rapide si a[x]
est utilisé à la place de l'arithmétique de pointeur brute car certaines analyses statiques peuvent calculer plus d'informations dans ce cas, permettant des optimisations plus agressives. La raison en est l'analyse simplifiée des alias.
- 1. Est + = plus efficace que concat?
- 2. Quel est le moyen le plus efficace d'obtenir le premier élément d'un tableau associatif en JavaScript?
- 3. Quel est le sélecteur le plus correct/le plus efficace?
- 4. Le moyen le plus efficace d'indexer un tableau retourné?
- 5. Le plus efficace DHT
- 6. Quelle est la manière la plus efficace d'obtenir le premier jour du mois en cours?
- 7. Quel code jQuery est le plus efficace?
- 8. StringBuilder.Replace() est-il plus efficace que String.Replace?
- 9. Quand le pointeur sur le tableau est-il utile?
- 10. linq-to-sql est-ce le code le plus efficace?
- 11. Quel est le moyen le plus efficace de copier un tableau d'entiers dans l'objectif C?
- 12. quel est le moyen le plus efficace d'écraser bitmapdata
- 13. Plus efficace: grand tableau ou plusieurs scalaires
- 14. Quel est le moyen le plus efficace de convertir le tableau de chaînes STL en const char * array?
- 15. Comparer Classe Le plus efficace?
- 16. Le moyen le plus optimisé/efficace de convertir une collection en tableau?
- 17. Quel est le moyen le plus efficace de stocker cette paire ordonnée en php?
- 18. Pourquoi est IronPython plus rapide que le Python officiel interprète
- 19. Le moyen le plus efficace de convertir BCD en binaire
- 20. Quel est le moyen le plus efficace pour supprimer tous les éléments d'un tableau d'un autre tableau?
- 21. Est-il possible de réinterpréter le pointeur en tant que référence de tableau dimensionné?
- 22. Quel est le moyen le plus efficace pour trouver le dernier chiffre d'un int en C++?
- 23. Quel style CSS Selector est le plus efficace?
- 24. Comment savoir que le système est en cours d'installation ISO
- 25. Quel est le moyen le plus efficace de faire des tableaux d'octets immuables dans Scala?
- 26. Pourquoi "this.var" est-il moins efficace que "array.length"?
- 27. Convert.ToInt ou String.Split: lequel est le plus efficace?
- 28. Lequel est le plus efficace? si la déclaration
- 29. Le retour par référence rvalue est-il plus efficace?
- 30. Le moyen le plus efficace pour déterminer la valeur décimale est entier en Java
Est-ce que vous postez simplement des questions à partir des devoirs tels qu'ils apparaissent sur votre liste? (btw je ne downvote pas) – stefanB
D'accord, je vous ai aidé sur votre dernière question mais vous devriez probablement ralentir maintenant. 3 questions dans une demi-heure est probablement trop. Si ce sont des questions sur un devoir, référez-vous à votre manuel ou demandez à votre professeur. (Cela dit, j'espère que ce n'est pas demandé n'importe où, parce que c'est assez insignifiant.) – GManNickG
et pas une seule réponse acceptée! – Axarydax