Size: a a a

IT KPI C/С++ ХВ (хорошо, что не UB)

2020 January 14

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
Aleksey Belkevich
c-lang на IR коде с явным запретом инлайна всё равно инлайнит
Так ладно бы это
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
Зачем вообще функции, которые не инлайнятся?
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
Почему я пишу "сделай мне инлайн функцию" а компилятор шлет меня нахуй
источник

AB

Aleksey Belkevich in IT KPI C/С++ ХВ (хорошо, что не UB)
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
В итоге самый быстрый код это когда все тупо в одной файле написано
источник

AB

Aleksey Belkevich in IT KPI C/С++ ХВ (хорошо, что не UB)
Вот тут обсуждали
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
даже есть функция -flto которая не делает ровным счетом ничего
источник

SK

Serge Kozlov in IT KPI C/С++ ХВ (хорошо, что не UB)
Ребят, привет.
Изучаю сейчас с нуля с++ по книге Лафоре(ооп в с++), да понимаю стандарт старый, это для полного понимания. Подскажите материал по 11/14 стандарту, чтобы сразу его изучать. Покопался в интернете, вариантов много, но где толково написано с примерами и задачами? Или может ютуб канал, какой?
Спасибо.
источник

A

András in IT KPI C/С++ ХВ (хорошо, что не UB)
Serge Kozlov
Ребят, привет.
Изучаю сейчас с нуля с++ по книге Лафоре(ооп в с++), да понимаю стандарт старый, это для полного понимания. Подскажите материал по 11/14 стандарту, чтобы сразу его изучать. Покопался в интернете, вариантов много, но где толково написано с примерами и задачами? Или может ютуб канал, какой?
Спасибо.
C++ weekly
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
Julian =) Coffee
Ну и очевидно, что в макрос нельзя сделать несколько statements, только expressions
Можно
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );})
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
Didona
#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );})
а теперь верни отсюда что-то
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
Так возвращает
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
Последняя строчка
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
Возможно это чисто гнушная фича
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
Но в гцц точно работает
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
а как это работает
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
a = { b }
?
источник

D

Didona in IT KPI C/С++ ХВ (хорошо, что не UB)
Оно ретурнит последнюю строчку
источник

JC

Julian =) Coffee in IT KPI C/С++ ХВ (хорошо, что не UB)
ну значит инлайновые функции не нужны
источник