Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 July 01

R

Rabu in IT KPI C/C++ ХВ (не UB)
read sicp
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Компилятор кусок кода напрямую вставляет что ли? А в случае функции оверхед на вызов
источник

R

Rabu in IT KPI C/C++ ХВ (не UB)
а стоп
источник

R

Rabu in IT KPI C/C++ ХВ (не UB)
я прочитав "лямбда исчисление"
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
Компилятор кусок кода напрямую вставляет что ли? А в случае функции оверхед на вызов
Я дизасемлировал, вроде вызов тоже есть
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
В чём идея лямбда выражений? Кроме как создать анонимную единичную функцию для передачи её в функцию.
Можно моделировать иф выражение
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Или удобный свич с локальным скоупом, который изнутри возвращает значение
источник

A

András in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
В чём идея лямбда выражений? Кроме как создать анонимную единичную функцию для передачи её в функцию.
Структуру*
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
auto x = [&]() { if (a) { return 10; } else { return 15; } }();
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Ну и свич так же, только он удобнее, потому что альтернативы в виде тернарки нет
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
И обычно на -O3 компилятор всё прекрасно заинлайнит
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Можешь сравнить accumulate и рукописный цикл
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Там тело цикла одинаковое, разве что инициализация может отличаться
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Хорошая лекция, советую всем
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
Arjaz
auto x = [&]() { if (a) { return 10; } else { return 15; } }();
зачем это?
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Ruslan Neshta
зачем это?
Потому что можно делать нормальные const, у которых значение может от чего-то зависить
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
И ещё объявление там же, где инициализация
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Иначе ты создаёшь переменную без значения, а потом ей что-то в свиче присваиваешь
источник