Questions sur sequence-points

14
réponses

Pourquoi ces constructions utilisent - elles un comportement non défini pré-et post-increment?

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; i = ... int x[2] = { 5, 8 }, y = 0; x[y] = y ++; printf("%d %d\n", x[0], x[1]); // shouldn't this print 0 8? or 5 0? }
demandé sur 2009-06-04 13:17:52
5
réponses

Comportement non défini et points de séquence rechargés

considérez ce sujet comme une suite du thème suivant: versement précédent comportement ... turn *this; } Index & inc() { state++; return *this; } };
demandé sur 2011-01-09 11:40:54
10
réponses

Pourquoi a=(A+b) - (b = a) est un mauvais choix pour échanger deux entiers?

je suis tombé dans ce code pour échanger deux entiers sans utiliser une variable temporaire ou l'utilisation d'opérate ... l'ordre d'évaluation. ma question Est: est - ce une solution acceptable pour échanger deux entiers?
demandé sur 2013-12-27 16:24:38
6
réponses

La valeur de x*f(x) n'est-elle pas spécifiée si f modifie x?

j'ai regardé un tas de questions concernant les points de séquence, et n'ai pas été en mesure de comprendre si l'ordre ... ux endroits où ils sont appelés, je reçois C code qui a les mêmes problèmes. La réponse est-elle différente pour C?
demandé sur 2015-09-10 17:22:37
6
réponses

Est-ce code bien défini?

ce code est tiré d'une discussion en cours sur ici . someInstance.Fun(++k).Gun(10).Sun(k).Tun(); ce co ... s la copie d'un valeur retournée et avant la exécution de toute expression extérieure la fonction .
demandé sur 2011-01-17 06:17:37
4
réponses

points de séquence en c

un point de séquence dans la programmation impérative définit tout point dans l'exécution d'un programme d'ordi ... n'ont encore été effectués. Qu'est-ce que cela signifie? Quelqu'un peut-il expliquer en mots simples?
demandé sur 2010-08-26 17:10:39
7
réponses

Comment fonctionnent les opérations Prefix (++x) et Postfix (x++)?

est-ce que quelqu'un peut me dire comment les opérateurs de préfixe / postfix fonctionnent vraiment? J'ai beaucoup che ... Pourriez-vous expliquer la différence? Comment cela s'applique à l'autre opérateur Préfixe?
demandé sur 2011-10-18 22:53:10
2
réponses

est-ce que i=f (); défini quand f modifie i?

question connexe: une bonne raison pour laquelle l'opérateur d'assignation n'est pas un point de séquence? ... Je n'écris pas moi-même, je veux juste savoir si je dois avertir à ce sujet dans les programmes écrits par d'autres.
demandé sur 2011-05-19 11:16:40
4
réponses

Pourquoi l'expression a = a + b - b = a) donner un point de séquence d'avertissement en c++?

code d'essai suivant: int main() { int a = 3; int b = 4; a = a + b - (b = a); cout << " ... tat de (b = a) devrait être soustrait de a + b . Je ne vois pas de violation de la règle du point de séquence .
demandé sur 2012-11-10 03:48:09
3
réponses

Une bonne raison pour laquelle l'opérateur d'assignation n'est pas un point de séquence?

y a-t-il une bonne raison pour que operator = ne soit pas un point de séquence? À la fois en C et C++. j'ai du mal à penser à un contre-exemple.
demandé sur 2010-12-06 04:30:17
1
réponses

Séquençage parmi une expansion variadique

pour cet exemple non variadique: int Func1(); double Func2(); void MyFunc( int, double ); int main() ... uter par hasard à travers la liste élargie? Est il ce que nous appelons la séquence de points entre chaque élément?
demandé sur 2012-05-26 12:46:35