Size: a a a

2020 July 12

🦊

🦊fox.cpp in C++ Together 2.0
вызов std::swap выглядит компактнее
источник

CC

Cool Cooler in C++ Together 2.0
Cool Cooler
а лучше в конце:
char* previousStr = str;
str = newStr;
delete[] previousStr;
больше строк — больше возможностей выстрелить себе в ногу
источник

CC

Cool Cooler in C++ Together 2.0
я вот так ща подумал
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
std::swap(str, newStr);
delete[] newStr;
А std::swap пытается вызвать swap у объекта?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
А std::swap пытается вызвать swap у объекта?
нет
источник

🦊

🦊fox.cpp in C++ Together 2.0
using std::swap;
swap(str, newStr);


есть трюк с ADL для этого, но лучше не надо
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
using std::swap;
swap(str, newStr);


есть трюк с ADL для этого, но лучше не надо
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;
источник

🦊

🦊fox.cpp 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
🦊fox.cpp
Не пугай людей
хыхы
источник

A

Alex Ф-ф-фэils!🌠︙... 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
🦊fox.cpp
Не пугай людей
испугал
источник

A

Alex Ф-ф-фэils!🌠︙... 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
а где тут UB?
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Где си стайл каст
источник

f&

fox.py &>/dev... in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Где си стайл каст
uintptr_t же гарантированно вмещает указатель.
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Проще взять std::swap ибо оно учитывает всякие уплротые возможности платформы
источник

f&

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

p

pepeground_bot in C++ Together 2.0
а что за кооперативная. вы напиипер?
источник

f&

fox.py &>/dev... in C++ Together 2.0
вообще, я буду рад, если кто-то объяснит мне, где тут UB, но я честно не вижу.
источник

IL

Ilya L in C++ Together 2.0
Полагаю,
(uintptr_t)
 и
(char*)
источник