
Alexander
12.10.2018
09:22:11

Ilia
12.10.2018
09:22:18

Alexander
12.10.2018
09:22:25

Ilia
12.10.2018
09:23:04

Google

Alexander
12.10.2018
09:23:16

Ilia
12.10.2018
09:23:24
И мой совет -- проинициализировать явно -- не катит уже
Ну ладно.

Alexander
12.10.2018
09:23:39
Nikita не слушай @MasterZiv. он несёт бред

Nikita
12.10.2018
09:24:06

Ilia
12.10.2018
09:24:08
Да я с утра не зарядился...
Мозк не работает

Nikita
12.10.2018
09:24:38
я имею в виду не в рантайме а по ходу правок проекта

Ilia
12.10.2018
09:26:39
А.

Ruslan
12.10.2018
09:34:09
Порядок имеет значение для ГЛОБАЛЬНЫХ
А в твоем случае ты ЯВНО инициализируешь
То есть порядок, однозначно, будет такой, как ты написал

Google

Nikita
12.10.2018
09:35:29

Ruslan
12.10.2018
09:35:43
Я просто внес ясность
Есть порядок по-умолчанию, который компилятор гарантирует
А в твоем случае порядок инициализации выбирается не компилятором, а задается пользователем

Nikita
12.10.2018
09:38:00

Ruslan
12.10.2018
09:38:46
Ну, было бы странно, если бы строчки кода выполнялись вразнобой :)

Alexander
12.10.2018
09:46:42
я не понимаю проблемы закладывания на это поведение

Ruslan
12.10.2018
09:46:43
Закладываться на не совсем очевидные вещи, которые, причем, могут не везде работать так, как ожидается...
Везет...

Alexander
12.10.2018
09:47:06
это очевидное поведение, которое прописано в стандарте

Ruslan
12.10.2018
09:51:55

Alexander
12.10.2018
09:52:38

Ruslan
12.10.2018
09:53:00
А ты забавный. Сходи на сайт гнутого компилятора....

Alexander
12.10.2018
09:53:06
мб в O3 секции можно что-то интересное нарыть

Ruslan
12.10.2018
09:53:16
Там два мешка разных флагов/макросов/етц
Про O3 отдельная история вообще
Я уже молчу про всякие аттрибуты нестандартные, прагмы, етц
яйцами рисковать надо по минимуму, имхо

Google

Alexander
12.10.2018
09:54:26
ладно, сам вижу

Ruslan
12.10.2018
09:55:08

Alexander
12.10.2018
09:55:08
там просто фичи языка можно выключать

Ruslan
12.10.2018
09:55:22
Но от GCCизмов не раз ловили грабли в голову
Сами того не зная

Alexander
12.10.2018
09:56:14
ну про прагмы и так далее понятно. я просто думал про какой-нибудь флаг, которые врубает оптимизации, которые яростно ломают совместимость со Стандартом

Matthew
12.10.2018
09:57:48
А вот программа тыпу
for(int i = 0; i < 12345678; i++){
int x = i * 12345;
std::cout << x << ' ';
}
по стандарту должна превращаться в бесконечный цикл или мириться с UB?

Alexander
12.10.2018
09:58:53
i * 12345 переполняется? (мне лень считать)

Stanislav
12.10.2018
10:00:03

Alexander
12.10.2018
10:00:10
значит UB :)

Matthew
12.10.2018
10:00:29
i * 12345 переполняется? (мне лень считать)
Да
Из-за этого фрагмента компилятор оптимизирует следующим образом:
1. i * 12345 => i максимум INT_MAX / 12345
2. Поскольку 12345678 > INT_MAX / 12345, то условие i < 12345678 всегда выполняется
3. ????
4. Бесконечный цикл!
значит UB :)
Вопрос в том должен ли компилятор действовать по типу того что я описал выше

Alexander
12.10.2018
10:00:54

Ilia
12.10.2018
10:02:57

Ruslan
12.10.2018
10:03:30

Aidar
12.10.2018
10:03:46

Ruslan
12.10.2018
10:04:08
Но если и объявление, тогда где static кейворд?

Aidar
12.10.2018
10:05:24

Yarique
12.10.2018
10:55:44
Всем привет. Презентации с докладов «Под капотом Яндекс.Такси» можно попросить?
@antoshkka

Google

Aleksei
12.10.2018
11:03:28
очень ждем!)

Antony
12.10.2018
11:07:30

Nikita
12.10.2018
11:28:07

Anatoly
12.10.2018
11:28:27

Sergey
12.10.2018
12:00:32
можно ли получить ссылку на метод класса (у всех функций одинаковая сигнатура)? Нужно что-то вроде такого
std::function f;
switch (c) {
case c1:
f = &this::function;
break;
...
}
прочитал про std::bind, но применить его не получилось

Nik
12.10.2018
12:03:15

Denis
12.10.2018
12:03:24

Spoonson
12.10.2018
12:03:32

Anatoly
12.10.2018
12:03:54

Ilia
12.10.2018
12:06:23

Denis
12.10.2018
12:06:26
Честно говоря, я бы постремался что-то жать :)

Spoonson
12.10.2018
12:06:54

Ilia
12.10.2018
12:07:00

Anatoly
12.10.2018
12:07:02

Denis
12.10.2018
12:07:11

Ilia
12.10.2018
12:07:27

Denis
12.10.2018
12:07:28

Alexander
12.10.2018
12:07:37

Aidar
12.10.2018
12:07:40

Google

Spoonson
12.10.2018
12:07:41

Denis
12.10.2018
12:08:15
Ну вообще, если в итоге нужен указатель на функцию, то захватывать ничего нельзя

Spoonson
12.10.2018
12:08:28
std::function и нужен то затем чтоб не-указатели на функции, а с контекстом что-то хранить

Ilia
12.10.2018
12:08:45

Aidar
12.10.2018
12:08:50

Spoonson
12.10.2018
12:10:00

Ilia
12.10.2018
12:10:55
Сейчас, поем...

Aidar
12.10.2018
12:11:35
Сейчас, поем...
std::function это стандартный std::function, в шаблонных параметрах там сигнатура а не тип
оно вызывает и хранит любой функтор

Sergey
12.10.2018
12:13:00

Ilia
12.10.2018
12:13:06
Я на самом деле тут сверху std:: function не увидил,
Так что все ок.

Aidar
12.10.2018
12:13:25

Sergey
12.10.2018
12:14:02
ну я в целом про идею за лямбды

Alexey
12.10.2018
12:16:03
указатель на метод - это не то же самое, что указатель на функцию
указатель на метод не содержит информации об объекте, на котором будет вызов

Крис
12.10.2018
12:16:22