ФлеймФорумЮмор

Перлы Форума Gamedev.ru (507 стр)

Страницы: 1506 507 508 509520 Следующая »
#7590
(Правка: 21:23) 21:21, 16 дек 2023

MrShoor
> Что ты с успехом и сделал.
Странно, у меня это проработало лет 20, на Форуме пролежало 5 лет. И вдруг у наших эстетов открылись глаза. Оказывается, рекурсию на списках применять нельзя. LISP, сдохни!
Не, пионэры, признайтесь лучше, что нашей Pascal-девочке что-то померещилось, и Вы успели подписаться, прежде чем поняли, что она лажанула.

#7591
21:37, 16 дек 2023

gudleifr
> Странно, у меня это проработало лет 20
Ну в софте который никто не запускает - вполне может и тысячелетиями работать

> на Форуме пролежало 5 лет
Лол, на том самом форуме, на котором обитаешь ты и яндекс бот?

#7592
21:42, 16 дек 2023

MrShoor
> Лол
Ну, Вы заврались. Так обосрать gamedev.ru...

#7593
(Правка: 3:17) 3:07, 17 дек 2023

gudleifr
> Оказывается, рекурсию на списках применять нельзя. LISP, сдохни!
Смотри:

void clear_list(tnode* p) {
    if (!p) return;
    clear_list(p->next);
    clear_data(p->data);
    free(p);
}
void clear_list(tnode* p) {
    if (!p) return;
    tnode* np = p->next;
    clear_data(p->data);
    free(p);
    clear_list(np);
}

Первый пример — говно, второй — рабочий, хотя тоже, казалось бы, применяет рекурсию. Угадаешь, почему?
Не лезь туда, где не разбираешься. Может случайно руки оторвать.

#7594
8:58, 17 дек 2023

Имбирная Ведьмочка
> free##X(p)
пропущен ";"
> if (p) { \
p неинициализирован
трэш какой-то

#7595
10:13, 17 дек 2023

Имбирная Ведьмочка
Так, а там уже есть какие то гарантии что будет примененна TCO? В твоем рабочем примере.

#7596
10:24, 17 дек 2023

Рендерферма кроликов
Кто то не знает K&R синтакс сишечки...

Что то перлы кучно идут (:

#7597
(Правка: 11:02) 10:59, 17 дек 2023

cNoNim
> Так, а там уже есть какие то гарантии что будет примененна TCO? В твоем рабочем
> примере.
В лиспе — да, тко гарантируется. Во всяком случае, в том, про который подумал гудифир.

#7598
11:00, 17 дек 2023

Имбирная Ведьмочка
Не увидел синтаксиса лиспа потому и спросил

#7599
11:04, 17 дек 2023

cNoNim
> Кто то не знает K&R синтакс сишечки...
free##X(p)  не функция, обьявление параметров допускается ПОСЛЕ "{"

#7600
11:04, 17 дек 2023

Рендерферма кроликов
Давай пиши еще очень интересно.

#7601
11:08, 17 дек 2023

Рендерферма кроликов
Расскажи что по твоему делает макрос гудифира?

#7602
11:19, 17 дек 2023

Рендерферма кроликов

Первые стандарты Си сильно отличались от того что мы имеем сейчас. Допустим мы скормим в макрос FREE(MyType) и получим:

    freeMyType(p)                         
        pMyType p;                         
    {                                   
        if (p) {                        
            freeMyType(p->next);           
            delMyType(p);                  
            free(p);                    
        }                               
    }

и это валидная штука.
тип функции freeMyType будет взят по умолчанию - int. Но т.к. она не делает return-ов, то на выходе будет мусор. Это нормально. typedef int void; было нормой в те времена.
Объявление типов параметров между именем функции и её телом тоже было совершенно легально и по замыслу помогало объединять в одно объявление несколько параметров.
Более того - все параметры всегда отправлялись в функцию одинаковым образом (расширяясь до слова) и поэтому единственное зачем по настоящему надо было делать forward declaration для функций - это чтобы описать тип возвращаемого результата если он отличался от int. Контроля правильности типов аргументов по моему вообще не проводилось, не помню уже деталей.

#7603
12:23, 17 дек 2023

Имбирная Ведьмочка
> Первый пример — говно, второй — рабочий
В обоих случаях стек используется ОДИНАКОВО. Все равно, ф-ия старшего брата не завершится, пока не завершится ф-ия младшего. Вся надежда, что оптимизатор соединит хвосты.

#7604
12:29, 17 дек 2023

gudleifr
В первом случае нет надежды, и у тебя написан говнокод) так что не сцы)

Страницы: 1506 507 508 509520 Следующая »
ФлеймФорумЮмор