Outils pour utilisateurs

Outils du site


lang:c:cast

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:c:cast [2020/03/04 00:31] – Commentaire sur les cast parenthèses spécifiques au C rootlang:c:cast [2025/07/28 11:02] (Version actuelle) – [Cast explicite lors de la déclaration] : ajout du postfix ZU root
Ligne 6: Ligne 6:
 </code> </code>
  
-===Cast explicite (C uniquement)===+===Cast explicite lors de la déclaration=== 
 +Définir un nombre non signé : 
 +<code c> 
 +unsigned int i = 0xFFFFFFFFU; 
 +size_t s = 123ZU; 
 +</code> 
 + 
 +Définir un nombre 64 bits : 
 +<code c> 
 +unsigned long i = 0xFFFFFFFFFFFFFFFFLU; 
 +</code> 
 + 
 +Définir un nom flottant (et par un double) 
 +<code c> 
 +float f = 0.1f; 
 +</code> 
 + 
 +===Cast explicite lors de la conversion (C uniquement)===
  
 Ici, un cast explicite est nécessaire si ''-Wconversion'' est activé car une perte de précision est prévisible entre ''double'' et ''float''. Ici, un cast explicite est nécessaire si ''-Wconversion'' est activé car une perte de précision est prévisible entre ''double'' et ''float''.
Ligne 30: Ligne 47:
   f((unsigned char *)t);   f((unsigned char *)t);
 }</code> }</code>
 +
 +<WRAP center round important 60%>
 +Enlever le ''const'' d'une variable est très risqué. A ne faire que si on ne maitrise pas la signature de la méthode ''f''.
 +</WRAP>
  
 ===Gérer les dépassements de limites=== ===Gérer les dépassements de limites===
lang/c/cast.1583278306.txt.gz · Dernière modification : de root