• # If it's not broken, don't fix it

    Posté par (site web personnel) . En réponse au lien C3 : un nouveau C avec des modules, de la généricité et des simplifications. Évalué à 3.

    // C
    typedef struct
    {
     int a;
     struct 
     {
     double x;
     } bar;
    } Foo;
    // C3
    struct Foo
    {
     int a;
     struct bar 
     {
     double x;
     }
    }

    Ok alors, en C c'est parfaitement clair :

    • struct y {} est un type
    • struct {} y est une variable dont le type est une structure anonyme

    Mais en C3:

    • struct Foo {} est un type
    • struct bar {} est une variable dont le type est une structure anonyme

    Apparemment, les "structures sont toujours nommées" sauf :

    • quand c'est nested
    • quand c'est passé en argument

    Pourquoi complexifier autant la syntaxe ? Ce qu'on avait initialement en C était déjà parfaitement clair.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg