Maison >développement back-end >C++ >Comment implémenter des littéraux courts en C ?
Conversion d'entiers en littéraux courts en C
En C, l'écriture de littéraux entiers dans des formats spécifiques indique leurs types de données. Cependant, écrire un littéral court peut sembler déroutant.
Question : Implémentation de littéraux courts
Comment un littéral court peut-il être écrit en C ? Les connaissances existantes comprennent :
Réponse : lancer un entier
Bien qu'il n'y ait pas de format littéral court direct, la conversion d'un entier en short fournit le comportement souhaité :
<code class="cpp">((short)2)</code>
Comportement du casting
Bien qu'il ne s'agisse pas d'un format littéral , le casting garantit un comportement similaire en forçant l'entier à un court sans allouer explicitement de mémoire supplémentaire ni effectuer de conversions inutiles.
Exemple de désassemblage
Considérez le code suivant :
<code class="cpp">a = 2L; b = 2.0; c = (short)2; d = '';</code>
La compilation et le désassemblage de ce code entraînent :
movl , _a movl , _b movl , _c movl , _d
Cela démontre que le compilateur optimise le code et en stocke 2 dans toutes les variables, quels que soient leurs types déclarés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!