• # Pourquoi pas?

    Posté par (page perso) . Évalué à 10 (+14/-0).

    C'est une déclaration de variable, comme int riguant.

    Je dirais que la partie gauche accepte les parenthèses pour permettre de grouper les choses, comme par exemple entre int *(foo[]) versus int (*foo)[]).

    En C (et C++), on peut voir la déclaration de type comme deux parties. La gauche, le type primitif, et la droite, comme "une expression qui permet d’accéder à ce type".

    Par exemple, int *p; signifie que *p permet d’accéder à un int. Donc p est un pointeur.

    En partant de là, si les parenthèses sont autorisées, pas de raison de les interdire dans le cas ou l'expression se réduit à un nom.

    • [^] # Re: Pourquoi pas?

      Posté par . Évalué à 1 (+1/-1). Dernière modification le 27/03/20 à 20:05.

      J'ai cru à une erreur au début, mais non, c'est bien une déclaration.
      Par contre, sans être Grand Gourou C/C++, j'ai tout de même découvert récemment une nouvelle forme de casting, et c'est ça qui m'a fait douter. Ça se passe comme ceci :

      int main(int argc, char *argv[])
      {
          int(riguant);
          double riguantriguant;
      
          riguant = 1;
          riguantriguant = double(riguant);
          riguantriguant /= 2;
      
          printf("       riguant : %d\n", riguant);
          printf("riguantriguant : %g\n", riguantriguant);
      
          return 0;
      }

      Avec comme résultat :

             riguant : 1
      riguantriguant : 0.5
      
  • # C du plaisir

    Posté par . Évalué à 4 (+2/-0).

    C'est toujours marrant de voir les choses qu'on connait écrites (ou présentées) un peu différemment. Celui que je n'avais pas compris la première que je l'ai vu c'est :

    a = b+++++c;

  • # Bien sûr

    Posté par . Évalué à 3 (+2/-0). Dernière modification le 28/03/20 à 04:48.

    Bien sûr que ça compile. C est le Langage de Programmation de Dieu.

  • # C++ is hard

    Posté par (page perso) . Évalué à 2 (+0/-0).

    En regardant cette vidéo: https://www.youtube.com/watch?v=lkgszkPnV8g (…)

    "Conclusion : C++ is hard" :-)

    Bon, aussi :

    • Tools are our best teaching weapons.
    • Invest in a good, extendable linter (e.g. clang-tidy)
    • ASAN is life.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.