Questions marquées «language-lawyer»

88
Les branches avec un comportement non défini peuvent-elles être considérées comme inaccessibles et optimisées en tant que code mort?

Considérez la déclaration suivante: *((char*)NULL) = 0; //undefined behavior Il invoque clairement un comportement indéfini. L'existence d'une telle instruction dans un programme donné signifie-t-elle que l'ensemble du programme est indéfini ou que le comportement ne devient indéfini qu'une fois...

32
Décltype C ++ et parenthèses - pourquoi?

Le sujet a été discuté auparavant , mais ce n'est pas un doublon. Lorsque quelqu'un demande la différence entre decltype(a)et decltype((a)), la réponse habituelle est - aest une variable, (a)est une expression. Je trouve cette réponse insatisfaisante. Tout d'abord, ac'est aussi une expression. Les...