- 1
- 2
- 3
- 4
- 5
char* to_str(int i) {
char* s = malloc(12);
sprintf(s, "%d", i);
return s;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
char* to_str(int i) {
char* s = malloc(12);
sprintf(s, "%d", i);
return s;
}
Как в сишке без RAII принято жить? Пиздец какой-то. Буфер в функцию передавать?
Что мешает завезти RAII в сишку?
guest6 30.01.2021 20:50 # 0
RAII сразу требует охулиард всего, так как копирование данных уже больше не копирование, а вызов какого-то кода. А это перехучка половины языка
guest6 30.01.2021 21:09 # 0
guest6 30.01.2021 21:26 # 0
guest6 30.01.2021 21:32 # 0
* передать ей размер, и попросить создать
* создать самому
Кстати, в твоем случае можно наверное выделить размер на стеке. Максимальный размер строки INT_MAX в общем понятен заранее, не?
guest6 30.01.2021 21:38 # 0
guest6 30.01.2021 22:23 # 0
Rooster 05.02.2021 08:48 # 0
Можно иметь один статический буфер, содержимое в нём хранится до следующего вызова этой функции. Если его нужно сохранить, сам его копируешь куда-нибудь.
MAPTbIwKA 05.02.2021 14:20 # 0
Rooster 05.02.2021 15:02 # 0
Но можно просто иметь по буферу на поток.
MAPTbIwKA 05.02.2021 15:16 # 0
а если потоки создаются, прости господи, динамически?
Rooster 05.02.2021 15:46 # 0
MAPTbIwKA 05.02.2021 15:51 # 0
а удалять как?
bormand 05.02.2021 17:11 # 0
У TLS слотов деструкторы есть (см. FlsAlloc, pthread_key_create).
> как в фугнкции узнать про создание потока
Слоты у новых тредов рождаются с NULL. Так что просто проверить на NULL и выделить память.
JloJle4Ka 05.02.2021 17:13 # +1
\(=^~^=)/
bormand 05.02.2021 17:14 # +2
TOPT 05.02.2021 18:30 # 0
guest6 05.02.2021 18:35 # +1
bormand 05.02.2021 18:57 # 0
OCETuHCKuu_nemyx 05.02.2021 19:52 # 0
CBuHOKYP 06.02.2021 22:18 # 0
ASD_77 02.02.2021 17:25 # 0
guest6 02.02.2021 17:27 # 0
Fike 02.02.2021 19:29 # 0
ASD_77 03.02.2021 22:06 # 0
guest6 02.02.2021 17:28 # 0
guest6 02.02.2021 17:32 # 0
guest6 02.02.2021 18:05 # 0
guest6 02.02.2021 18:16 # 0