Convertit une chaîne de court en C++

J'ai donc regardé autour pour savoir comment convertir une chaîne en un court et a trouvé beaucoup de choses sur la façon de convertir une chaîne en entier. Je voudrais laisser une question qu'un commentaire sur les threads, mais je n'ai pas assez de réputation. Donc, ce que je veux faire est de convertir une chaîne en bref, parce que le nombre ne devrait jamais aller au-dessus de trois ou au-dessous de zéro et shorts économiser de la mémoire (pour autant que je suis au courant).

Pour être clair, je ne parle pas des codes ASCII.

Une autre chose que je voudrais être en mesure de faire est de vérifier si la conversion de la chaîne à court échoue, parce que je vais être en utilisant une chaîne de caractères qui se compose d'un utilisateur d'entrer.

Je sais que je peux le faire avec une boucle while, mais si il y a une fonction intégrée pour le faire en C++, qui serait tout aussi ou plus efficace qu'une boucle while, j'aimerais en entendre parler.

shorts save memory Je pense que la vraie question est de savoir pourquoi vous pensez que vous avez besoin pour économiser de la mémoire?
Je pointilleux sur l'efficacité du programme, tout simplement parce que je suis une perfectionniste.
I obsess over program efficiency simply because I'm such a perfectionist Eh bien, avez-vous écrire le code pour s'assurer que la règle est maintenue, à savoir the number should never go above three or below zero?
Comme avec tout ce qu'il y a un compromis à trouver, il y aura probablement peu de différence entre les résultats obtenus à l'aide de shorts et ints, sauf si vous utilisez long de tableaux / les structures avec ces types et cache entre en jeu. Vous devriez commencer à l'aide de ints et seulement envisager autre chose si le profilage suggère que vous devriez. Lors de la programmation, vous devriez envisager de efficacité tout d'abord, est-il vraiment utile de votre temps à focaliser sur les problèmes que peut avoir presque aucun impact?
Il est difficile de faire des déclarations générales, mais si vous parlez d'utiliser shorts à la place de ints pour des choses comme les paramètres de la fonction et les variables locales, alors il ne fera aucune différence. Avec mon compilateur et l'assembleur (GCC 5 sur OSX) l'appel d'une fonction qui prend un short au lieu d'une int résultats dans un octet supplémentaire de code assembleur pour l'instruction de sorte que même la (déjà infime) d'économie de l'espace facteur n'est pas en vaut la peine, sauf si vous êtes quelque chose de programmation intégré et chaque octet compte vraiment.

OriginalL'auteur LarryK | 2015-02-13