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);