Size: a a a

2020 July 12

IL

Ilya L in C++ Together 2.0
Artöm Bakri Al-Sarmini
Легче перечислить те, что не вызывают
приведения встроенных типов?
источник

f&

fox.py &>/dev... in C++ Together 2.0
Ilya L
приведения встроенных типов?
ага
источник

IL

Ilya L in C++ Together 2.0
fox.py &>/dev/null
не, ребята, давайте тогда уж считать, что это просто C.
я не пишу в C-стиле, я просто пишу на C и собираю компилятором C.
А, ну тогда ноль вопросов :)
источник

AB

Artöm Bakri Al-Sarmi... in C++ Together 2.0
Ilya L
приведения встроенных типов?
Между целыми одинаковой битности норм, между aliased указателями норм
источник

AB

Artöm Bakri Al-Sarmi... in C++ Together 2.0
Между указателем и целым норм, если влезает
источник

AB

Artöm Bakri Al-Sarmi... in C++ Together 2.0
Между целыми сужающий скорее всего идб
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
fox.py &>/dev/null
это вы тут "проще взять X", а я пишу стремный код чтобы пугать людей
Саппортить такое сложно
источник

f&

fox.py &>/dev... in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Саппортить такое сложно
понятное дело, я же не призываю так в реальных проектах делать >.<
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
fox.py &>/dev/null
понятное дело, я же не призываю так в реальных проектах делать >.<
Ок)
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Вообще цп инсайтс пишет, что тут да, более-менее норм
источник

AF

Aidar Fattakhov in C++ Together 2.0
fox.py &>/dev/null
char *str1;
char *str2;
uintptr_t pstr1 = (uintptr_t) str1;
uintptr_t pstr2 = (uintptr_t) str2;
pstr1 ^= pstr2;
pstr2 ^= pstr1;
pstr1 ^= pstr2;
str1 = (char*) pstr1;
str2 = (char*) pstr2;
Да такое ок
источник

CC

Cool Cooler in C++ Together 2.0
fox.py &>/dev/null
char *str1;
char *str2;
uintptr_t pstr1 = (uintptr_t) str1;
uintptr_t pstr2 = (uintptr_t) str2;
pstr1 ^= pstr2;
pstr2 ^= pstr1;
pstr1 ^= pstr2;
str1 = (char*) pstr1;
str2 = (char*) pstr2;
А что оно делает?
источник

f&

fox.py &>/dev... in C++ Together 2.0
Cool Cooler
А что оно делает?
свапает str1 и str2
источник

CC

Cool Cooler in C++ Together 2.0
fox.py &>/dev/null
char *str1;
char *str2;
uintptr_t pstr1 = (uintptr_t) str1;
uintptr_t pstr2 = (uintptr_t) str2;
pstr1 ^= pstr2;
pstr2 ^= pstr1;
pstr1 ^= pstr2;
str1 = (char*) pstr1;
str2 = (char*) pstr2;
Аааа, вроде бы понял
источник

CC

Cool Cooler in C++ Together 2.0
типа xor'ается
источник

f&

fox.py &>/dev... in C++ Together 2.0
Cool Cooler
типа xor'ается
угу
XOR swap
источник

CC

Cool Cooler in C++ Together 2.0
fox.py &>/dev/null
char *str1;
char *str2;
uintptr_t pstr1 = (uintptr_t) str1;
uintptr_t pstr2 = (uintptr_t) str2;
pstr1 ^= pstr2;
pstr2 ^= pstr1;
pstr1 ^= pstr2;
str1 = (char*) pstr1;
str2 = (char*) pstr2;
А зачем pstr1?
источник

CC

Cool Cooler in C++ Together 2.0
и зачем pstr2?
источник

f&

fox.py &>/dev... in C++ Together 2.0
Cool Cooler
А зачем pstr1?
потому что XOR не применим к указателям :^)
источник