Wygląda na to, że dostajemy zupełnie nowy rodzaj "pytań do wywiadu" dla C++ (mam nadzieję, że nie).Co oceni + ++ + i ++ w C++ 17?
Wiadomo być niezdefiniowane zachowanie przed C++ 17, ale będzie dobrze zdefiniowane z C++ 17 dalej?
Ponieważ obecnie nie ma kompilatora, który implementuje tę modyfikację C++ 17, czy ktoś może wyjaśnić, co według następujących reguł oceny wartości: x
będzie miało następujący kod?
int i = 0;
int x = i++ + i++;
Alisdair Meredith wspomina ten przykład here w jego CppCon 2016 Dyskusja, ale to nie jest do końca jasne do mnie co ostateczna wartość x
będzie (chociaż wydaje się to, co on mówi, że będzie to co najmniej 1).
Samo w takim przypadku i
będzie miało 2 na końcu wyrażenia.
Możesz przeczytać np. [ten numer porządkowy i kolejność oceny zamówienia] (http://en.cppreference.com/w/cpp/language/eval_order). –
@LeoHeinsaar Wydaje się, że musimy dostosować nasz refleks w przyszłości; P ... –
@ πάνταῥεῖ Rozumiem, nawet się nie martw. W porządku. :-) –