Questions sur order-of-evaluation

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
12
réponses

Le Post-incrément et le pré-incrément à l'intérieur d'une boucle 'for' produisent la même sortie [dupliquer]

cette question a déjà une réponse ici: différence entre i++ et ++i dans une boucl ... i) { printf("%d", i); } j'obtiens la même sortie pour les deux boucles 'for'. Ai-je raté quelque chose?
demandé sur 2011-01-16 18:33:13
6
réponses

Application de l'ordre des déclarations en C++

Supposons que j'ai un certain nombre de déclarations que je veux exécuter dans un ordre fixe. Je veux utiliser g++ ave ... tatement 2 auto t1 = Clock::now(); // Statement 1 auto t2 = Clock::now(); // Statement 3 auto elapsedTime = t2 - t1;
demandé sur 2016-06-13 12:47:32
6
réponses

Quelles sont les règles D'ordre d'évaluation en Java?

je suis en train de lire du texte Java et j'ai eu le code suivant: int[] a = {4,4}; int b = 1; a[b] = b = 0; ... e la dernière ligne est: a[1] = 0; je ne suis pas sûr que je comprends: comment l'évaluation se produire?
demandé sur 2011-07-23 17:11:07
6
réponses

Compilateurs et ordre d'évaluation des arguments en C++

OK, je suis conscient que la norme dicte qu'une implémentation C++ peut choisir dans quel ordre les arguments d'une fo ... aisaient beaucoup de code mal écrit se briserait (à juste titre, mais ils seraient encore probablement se plaindre).
demandé sur 2009-03-07 11:41:19
2
réponses

Quelles sont les garanties d'ordre d'évaluation introduites par C++17?

Quelles sont les implications de l'voté C++17 ordre d'évaluation des garanties (P0145) , typique de code C++? ... i=1; f(i++, i) et std::cout << f() << f() << f() ; ou f(g(),h(),j());
demandé sur 2016-07-21 13:21:52
15
réponses

a = (a++) * (a++) donne des résultats étranges dans Java [fermé]

j'étudie pour l'examen de L'OCPJP, et donc je dois comprendre chaque petit détail étrange de Java. Cela inclut l'ordre da ... (a); // 12 SUIVI: Quel est le résultat du code suivant? int a = 3; a += (a++) * (a++); System.out.println(a);
demandé sur 2011-11-07 20:00:33
6
réponses

Priorité de l'opérateur par rapport à L'ordre D'évaluation

les Termes "ordre de priorité de l'opérateur" et "ordre d'évaluation" sont des termes très couramment utilisés dans la ... n Est en raison de la confusion créée dans mon esprit par L'Article du MSDN. Est-ce que c'est dans erreur ou pas?
demandé sur 2011-03-29 17:16:23
4
réponses

Ordre aléatoire des nombres en C++ en utilisant

j'ai le code suivant, que j'ai écrit pour tester une partie d'un vaste programme : #include <fstream> #include < ... tibilité. j'ai compilé avec g++ version 5.3.0, sous Linux, avec le drapeau -std=c++11. Merci d'avance pour votre aide.
demandé sur 2016-01-28 14:21:21
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
3
réponses

Mise à jour de SQL ordre d'évaluation

Quel est l'ordre d'évaluation dans la requête suivante: UPDATE tbl SET q = q + 1, p = q; Qui est, "tbl ... dans la mise à jour description et dans les différences de la section standard SQL . Bravo, MySQL.
demandé sur 2010-02-05 00:03:27
2
réponses

Les appels de fonctions dans la liste initialiseur d'un constructeur sont-ils séquencés?

Considérer: int f () { static int i = 0; return i++; } struct Test { int a, b; Test () : a(f()), b(f()) {} }; Test t; je sais que a est initialisé avant t.a == 0 et
demandé sur 2017-04-18 21:39:45
6
réponses

"Si" argument ordre d'évaluation?

if(a && b) { do something; } est-il possible d'évaluer les arguments de droite à gauche(b - > a)? si "oui", ce qui influence l'ordre d'évaluation? (je suis sous VS2008)
demandé sur 2011-10-28 09:26:04
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
1
réponses

Que va évaluer i++ + i++ en C++17?

on dirait que nous avons une toute nouvelle sorte de "questions d'interview" pour C++ (j'espère que non, en fait). Il es ... à ce qu'il dit, c'est qu'il y en a au moins 1). de toute Évidence, i lui - même sera alors 2 à la fin de l'expression.
demandé sur 2016-09-30 20:21:55
2
réponses

Est-il sûr de se fier à l'ordre d'évaluation des arguments de la fonction Python? [dupliquer]

cette question a déjà une réponse ici: est-ce que L'ordre D'évaluation des argume ... .append(res, t) mais il a l'air moins élégant donc je préfère la première façon si je peux compter sur elle.
demandé sur 2013-07-30 17:26:50
5
réponses

C++ expression postfix non définie vs comportement non spécifié

excuses à l'avance, je sais que le thème général de l'ordre d'évaluation a eu beaucoup de questions sur elle déjà. Tou ... EDIT : j'ai changé le paramètre lambda nom de " n " à "param" parce que cela semblait causer de la confusion.
demandé sur 2016-05-20 13:31:25
2
réponses

Ordre d'évaluation de la sémantique des mouvements et des arguments

considérant ce qui suit: std::string make_what_string( const std::string &id ); struct basic_foo { basic_foo( s ... what_string(id); basic_foo(tmp1, tmp2); qui est invalide. Notez que dans les deux cas, l'ordre est le "inattendu" un.
demandé sur 2013-03-28 15:22:27
5
réponses

Lorsqu'on utilise des doubles, pourquoi (x / (y * z)) n'est-il pas identique à (x / y / z)? [dupliquer]

cette question a déjà une réponse ici: Comment éviter les erreurs de précision en ... s. Peut-être les deux sont mauvais?) Est-il une meilleure solution ou une méthode pour ces opérations arithmétiques?
demandé sur 2015-04-24 11:01:25
2
réponses

être sûr de "ordre d'évaluation inconnu"

depuis la version 1.80, Cppcheck me dit que Expression " msg[offices de propriété intellectuelle++]=so ... ) avec l'incrément de ipos fait en dernier. je Suis mal avec cette hypothèse, ou est-ce un faux positif?
demandé sur 2017-08-29 14:22:50
1
réponses

Logique et, ou: l'évaluation de gauche à droite est-elle garantie?

Est de gauche à droite de l'évaluation des opérateurs logiques (&& ||) de la garantie? disons que j'ai ceci: SDL ... aucoup plus susceptible d'échouer alors b. Ensuite, il est plus efficace de dire if (a && b)if (b && a).
demandé sur 2011-04-16 02:39:20
1
réponses

Ordre d'évaluation des éléments de la liste-initialisation

dans le autre thème , @Dietmar a donné cette solution: template <typename... T> std::tuple<T...> ... vec MinGW (GCC) 4.7.0 et 4.7.2 . Même ideone donne cette sortie . est-ce un bug dans le compilateur?
demandé sur 2012-12-27 23:37:08
2
réponses

Ordre d'évaluation des arguments de fonction et des arguments par défaut

j'ai récemment rencontré la situation suivante: #include <iostream> int *p = 0; int f() { p = new int(10); ... un comportement non défini, puisqu'il n'y a pas de garanties concernant l'ordre d'évaluation des arguments de fonction?
demandé sur 2015-08-26 12:09:25
8
réponses

Problème potentiel de " L'échange de valeurs de deux variables sans utiliser une troisième variable"

je suis récemment venu le long de cette méthode pour échanger les valeurs de deux variables sans utiliser une troisième v ... ifférents, certains ont donné des résultats corrects, d'autres pas. Est quelque chose de terriblement mal avec le code?
demandé sur 2010-09-18 15:08:15
3
réponses

L'ordre d'évaluation toujours garanti de "seq` (avec le comportement étrange de" pseq` en plus)

la documentation de seq function dit la chose suivante: Une remarque sur l'ordre d'évaluation: l'expression seq a b ne ... érents selon l'ordre d'évaluation (même code mais drapeaux de compilateurs différents / compilateurs différents / etc.)?
demandé sur 2018-01-23 23:28:03
5
réponses

Pourquoi est - '--++-- ++ +b--' évaluées dans cet ordre?

Pourquoi l'impression suivante bD aD aB aA aC aU au lieu de aD aB aA aC bD aU? En d'autres termes, pourquoi est b-- évaluée avant
demandé sur 2017-04-06 21:56:42
4
réponses

Ordre d'évaluation de l'énoncé d'affectation en C++

map<int, int> mp; printf("%d ", mp.size()); mp[10]=mp.size(); printf("%d\n", mp[10]); ce code fournit une réponse ... indiqué dans la norme c++? Ou est l'ordre de l'évaluation undefined? le résultat a été obtenu en utilisant g++ 5.2.1.
demandé sur 2015-11-08 23:54:19
2
réponses

Opérations de pré-incrément multiples sur une variable en C++(C)

pourquoi ce qui suit est compilé en C++? int phew = 53; ++++++++++phew ; le même code échoue en C, pourquoi?
demandé sur 2010-09-11 11:05:17
5
réponses

Ordre d'évaluation de la clause SQL d'Oracle

dans Oracle, quels types de clause sont évalués en premier? Si j'avais ce qui suit (Faire Semblant .... représenter de ... ... je suis sous l'impression que la clause SELECT est évaluée en dernier, mais d'autres que je suis paumé.
demandé sur 2010-05-16 05:07:57
2
réponses

Est-ce que L'ordre D'évaluation des arguments de fonction et des opérandes de Python est déterministe (+ où est-il documenté)?

C n'est pas de la garantie d'une évaluation de l'ordre ainsi, un énoncé comme f(g1()+g2(), g3(), g4()) peut ex ... o'),f('hahaha'),f('tweedledee')+f('tweedledum')) qui imprime f1 hey ho hahaha tweedledee tweedledum f2
demandé sur 2017-09-19 00:42:02