Selon la norme C ++ (7.1.6.2 Spécificateurs de type simple)
3 Lorsque plusieurs spécificateurs de type simple sont autorisés, ils peuvent être librement mélangés avec d'autres spécificateurs de déclin dans n'importe quel ordre.
Par exemple, la déclaration suivante est valide
long static long const int x = 10;
Vous pouvez même utiliser un constexpr
spécificateur avec un const
qualificatif. Par exemple
constexpr long static long const int x = 10;
Au fait, nous avons oublié le spécificateur signed
! Ajoutons-le par exemple avant le déclarateurx
constexpr long static long const int signed x = 10;
En C, vous pouvez également utiliser plusieurs qualificatifs de type dans la même séquence de spécification de déclaration. Selon la norme C (6.7.3 qualificatifs de type)
5 Si le même qualificatif apparaît plus d'une fois dans la même liste de spécifiants-qualificatifs, soit directement, soit via un ou plusieurs typedefs, le comportement est le même que s'il n'apparaissait qu'une seule fois ...
Ainsi par exemple en C la déclaration suivante est également valide
const long const long static const int const signed x = 10;
Donc si vous êtes payé en fonction du nombre de symboles tapés dans le programme alors je vous conseille d'utiliser de telles déclarations. :)
std::swap
. Cela ne compilera pas si les types ne sont pas identiques.