order-of-evaluation

Dlaczego te konstrukcje używają niezdefiniowanego zachowania przed-i po-inkrementacji?

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; i = (i++) ... 2 2 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? }

Jakie są zasady kolejności ewaluacji w Javie?

Czytam tekst Javy i otrzymałem następujący kod: int[] a = {4,4}; int b = 1; a[b] = b = 0; W tekście autor nie podał jasnego wyjaśnienia, a efekt ostatniej linijki to: a[1] = 0; Nie jestem pewien, czy rozumiem: jak doszło do oceny?

Wymuszanie kolejności wypowiedzi w C++

Załóżmy, że mam kilka poleceń, które chcę wykonać w stałe zamówienie. Chcę używać g++ z optymalizacją na poziomie 2, więc nie ... // Statement 2 auto t1 = Clock::now(); // Statement 1 auto t2 = Clock::now(); // Statement 3 auto elapsedTime = t2 - t1;

Pierwszeństwo operatora a kolejność oceny

Terminy "pierwszeństwo operatora" i "kolejność oceny" są bardzo często używanymi terminami w programowaniu i są niezwykle waż ... dla którego zamieściłem to pytanie, jest to, że zamieszanie wywołane w moim umyśle przez artykuł MSDN. Czy to błąd czy nie?

Kompilatory i kolejność argumentów oceny w C++

OK, jestem świadomy, że standard nakazuje, że implementacja C++ może wybrać, w jakiej kolejności argumenty funkcji są ocenian ... do prawej, bo zgaduję, że gdyby zrobili dużo źle napisanego kodu, to by się popsuli(słusznie, ale i tak pewnie by narzekali).

Jakie są gwarancje zlecenia ewaluacji wprowadzone przez C++17?

Jakie są konsekwencje głosowania w C++17 (P0145) na typowy kod C++? Co to zmienia w takich rzeczach jak i=1; f(i++, i) I std::cout << f() << f() << f() ; Lub f(g(),h(),j());

Kolejność wykonywania C++ w łańcuchowaniu metod

Wyjście tego programu: #include <iostream> class c1 { public: c1& meth1(int* ar) { std::cout < ... int nu = 0; c.meth1(&nu).meth2(nu); } Jest: method 1 method 2:0 Dlaczego nu nie jest 1 Kiedy meth2() zaczyna się?

Wiele operacji preincrement na zmiennej w C++(C)

Dlaczego poniższe kompiluje się w C++? int phew = 53; ++++++++++phew ; Ten sam kod nie działa w C, dlaczego?

a = (A++) * (a++) daje dziwne wyniki w Javie [zamknięty]

Uczę się do egzaminu OCPJP, więc muszę zrozumieć każdy dziwny szczegół Javy. Obejmuje to kolejność, w jakiej operatory pre - ... e 13? Ale nie 12! KONTYNUACJA: Jaki jest wynik poniższego kodu? int a = 3; a += (a++) * (a++); System.out.println(a);