• [^] # Re: phk n'aime pas C11

    Posté par . En réponse à la dépêche C11 n'est pas encore mort. Évalué à 10.

    Je trouve aussi ces keywords très laids mais contrairement à ce que dit phk ils sont consistants.

    Précisons d'abord que des keywords qui commencent par un underscore suivi d'une majuscule sont apparus déjà avec C99 (avec l'introduction de _Bool, _Complex et _Imaginary). En effet, les identifiers qui commencent par un underscore suivi d'une majuscule sont réservés depuis le premier standard C (C90). L'avantage est du point vue des indentifiers qu'un code valide en C90 sera aussi valide en C99 et en C11.

    Ajoutons ensuite que pour pour la plupart de ces keywords, C définit des macros avec des noms plus simples. Ces macros sont accessibles via des headers standards et le C encourage leur utilisation pour du nouveau code.

    Par exemple, dans le header standard stdalign.h, les macros suivantes sont définies:
    - la macro alignof pour l'opérateur _Alignof.

    - la macro alignas pour le specifier _Alignas.

    Et cela de la même manière qu'est défini par exemple depuis C99 la macro bool dans stdbool.h pour _Bool.