
Alex Фэils?︙
07.04.2017
14:19:57
Смотри. У нас есть чатик @proalgorithms, там довольно часто участники делятся задачками, решают их и т.д

Steven
07.04.2017
14:20:48
@ea_tme
https://www.hackerrank.com/
https://leetcode.com/
http://codeforces.com/

EnverAkhtemov [EA]
07.04.2017
14:21:11

Роман
07.04.2017
14:25:24
Всем привет!

Google

Alex Фэils?︙
07.04.2017
14:26:12
Привет

Роман
07.04.2017
14:26:26
Зашел сюда за самой лучшей в мире книгой по цпп, в том году заделились, но я её профукал а автора забыл ?

Denis
07.04.2017
14:26:39
Страуструп?

Роман
07.04.2017
14:26:59
В приаттаченых к чату не могу наййти
Не, помню фамилия короткая индусская что ли

Denis
07.04.2017
14:27:39
Мейерс?

mefest
07.04.2017
14:27:57

Alex Фэils?︙
07.04.2017
14:28:06

Роман
07.04.2017
14:28:16
Неее

Denis
07.04.2017
14:28:58
cppreference?

Alexander
07.04.2017
14:29:13
Вот эта???

Роман
07.04.2017
14:29:55
За 21 день кто автор?

Google

Alexander
07.04.2017
14:30:19
Дейтелы вроде как

Роман
07.04.2017
14:33:02
Сиддхарта Рао, спасибо, нашел))

/dev
07.04.2017
14:33:18
Дык, устарело

Alexander
07.04.2017
14:33:30

Роман
07.04.2017
14:33:32

Alexander
07.04.2017
14:33:40
выкинуть что ли...

/dev
07.04.2017
14:34:29
Бумага вообще — вред для деревьев

Alexander
07.04.2017
14:34:58

/dev
07.04.2017
14:35:07
А книги по быстро развивающимся технологиям годятся лишь для коллекции

Alexander
07.04.2017
14:35:09
Гитлер вот знал это и печи топил

Евгений
07.04.2017
14:44:17
всем привет

/dev
07.04.2017
14:45:02

Fennec
07.04.2017
16:01:46
Reindex.. please wait
Reindex.. please wait
Reindex.. please wait
Reindex.. please wait
Reindex.. please wait

Любимый
07.04.2017
16:03:03
Reindex.. please wait

Fennec
07.04.2017
16:03:26
Reindex.. please wait

Google

Evgen
07.04.2017
16:04:26
Так, я тут у вас несколько дней назад проводил опрос
#quiz

Evgeniy
07.04.2017
16:09:18

Любимый
07.04.2017
16:09:39

Evgen
07.04.2017
16:09:39
И в 17 стандарте тоже?
Как я понимаю, да
$ g++ -x c++ - -o /tmp/a.out -std=c++17 -Wall
#include <iostream>
int main() {
int t = 0;
t = t++;
std::cout << t;
return 0;
}
<stdin>: В функции «int main()»:
<stdin>:4:3: предупреждение: операция над «t» может дать неопределенный результат [-Wsequence-point]

Alexander
07.04.2017
16:10:19

Evgen
07.04.2017
16:10:19

Alexander
07.04.2017
16:10:26
там UB чистой воды

Evgeniy
07.04.2017
16:10:42

Evgen
07.04.2017
16:10:53

Alexander
07.04.2017
16:11:43

Alexander
07.04.2017
16:11:54
у меня дома лежит транк сбилженый, ща скажу
надо только коннктиться домой

Evgeniy
07.04.2017
16:12:29
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0145r3.pdf

Evgen
07.04.2017
16:15:15
И в 17 стандарте тоже?
$ clang++ -Wall -x c++ - -o /tmp/a.out -std=c++1z
#include <iostream>
int main() {
int t = 0;
t = t++;
std::cout << t;
return 0;
}
<stdin>:4:6: warning: multiple unsequenced modifications to 't' [-Wunsequenced]
t = t++;
~ ^
1 warning generated.
$ pacman -Qs clang
local/clang 3.9.1-2
C language family frontend for LLVM

Evgeniy
07.04.2017
16:19:26
In summary, the following expressions are evaluated in the order a, then b ... 5. b @= a

Alexander
07.04.2017
16:22:34
хм, а с точки зрения стандарта здесь t = t++ и t = t++ + 1 идентичны?
потому что у меня тут явно сказано, что i = i++ + 1 - ГИ
UB

Google

Admin
ERROR: S client not available

Evgen
07.04.2017
16:24:33

Alexander
07.04.2017
16:24:36
Наверное
Ну я пока что не собираюсь менять своего мнения, что это UB

Evgen
07.04.2017
16:25:17

Evgeniy
07.04.2017
16:27:00
An expression X is said to be sequenced before an expression Y if every value computation and
every side effect associated with the expression X is sequenced before every value computation
and every side effect associated with the expression Y.

Alexander
07.04.2017
16:28:58

Evgen
07.04.2017
16:29:26

Alexander
07.04.2017
16:30:03
http://stackoverflow.com/questions/38501587/what-are-the-evaluation-order-guarantees-introduced-by-c17

Evgen
07.04.2017
16:30:19
Так что, это UB (хоть и выдаёт 0 при компиляции/выполнении)

Alexander
07.04.2017
16:30:32
вот пост хороший. Некотоорые вещи перешли как undefined->unspecified

Evgen
07.04.2017
16:30:38

Evgeniy
07.04.2017
16:30:53
А вот присвоение вроде как сначала правая часть полностью, потом левая

Evgen
07.04.2017
16:32:56
t.operator++(int) сначала вернёт t (который равен 0), потом выполнит t = t + 1
Поэтому, в результате, должно быть t = 0

Evgeniy
07.04.2017
16:34:38

Evgen
07.04.2017
16:34:48
For instance, the expression f(i++, i) where i is an integer variable leads to undefined behavior, as does v[i] = i++. Even when the behavior is not undefined, the result of evaluating an expression can still be anybody’s guess.

Google

Alexander
07.04.2017
16:34:58
Я нашёл кое-что лучше
http://en.cppreference.com/w/cpp/language/eval_order

Evgen
07.04.2017
16:35:11
И я
http://en.cppreference.com/w/cpp/language/operator_incdec
Посмотрите пример ниже
Правда, там частично затрагивается...

Alexander
07.04.2017
16:39:43
i = i++ + 2; // undefined behavior until C++17
Есть такое, но я не могу сказать, что i++ + 2 и i++ одно и тоже здесь
я пока что афк

Evgeniy
07.04.2017
16:48:40