История изменений
Исправление alysnix, (текущая версия) :
Зачем мне реализовывать мёртвый язык, да ещё и заточенный под списки?
а ты реализуй на массивах. действуй решительно и смело. с окрушая все на своем пути и у тебя ничего не получится.
у тебя какой экспириенс, просто интересно. чем ты там занимаешься, что везде массивы суешь.
сто пицот раз уже все обговорили. ты активно подменяешь принципиально ссылочные структуры, массивами, искусственно рассматривая случаи, когда нет требования к динамическим свойствам ссылочных структур, что указывались тыщу раз. когда например можно заранее оценить размер.
ты обыгрываешь то свойство массива, что это единый кусок памяти в который можно и положить ВСЕ что угодно, при одном условии - оно должно состоять из элементов ОДНОГО ТИПА. а это совершенно частный случай общих ссылочных структур.
ты причепился к таймерам, явно ни разу их не программируя на плюсах!!!, потому что сразу увидел бы, что таймер это класс!!!, и его использование в ООП предполагает НАСЛЕДОВАНИЕ!!! и возможно изменение размера этого класса. и нельзя потому сделать «очередь из таймеров» на массиве, еклмн! пользоательские таймеры имеют неспецифмцированный размер, и потому твой код потому полностью мусорный. максимум ты можешь выжать из массива тут - массив указателей на базовый таймер… после чего твоя логика неиспользования указателей, ибо медленно, кеш и все такое - летит к черту. поскольку ты сделал косорукий список, и у тебя вместо перехода по указателю в поле next (как у нормального списка), стал переход по указателю в поле массива array[i+1]…ты создал лютейшую жопу, которая по всем параметрам хуже просто списка, даже по скорости итерации и кеш хитам(потому что у тебя обьекты отдельно, указатели отдельно).
итак в «таймеры из жизни» твои массивы/рингбуфферы не шмогли… в лисп массивы не шмогут по той же причине. на самом деле массивы не могут практически везде, и потому - на колу мочало - начинай сначала.
Исходная версия alysnix, :
Зачем мне реализовывать мёртвый язык, да ещё и заточенный под списки?
а ты реализуй на списках. действуй решительно и смело. с окрушая все на своем пути и у тебя ничего не получится.
у тебя какой экспириенс, просто интересно. чем ты там занимаешься, что везде массивы суешь.
сто пицот раз уже все обговорили. ты активно подменяешь принципиально ссылочные структуры, массивами, искусственно рассматривая случаи, когда нет требования к динамическим свойствам ссылочных структур, что указывались тыщу раз. когда например можно заранее оценить размер.
ты обыгрываешь то свойство массива, что это единый кусок памяти в который можно и положить ВСЕ что угодно, при одном условии - оно должно состоять из элементов ОДНОГО ТИПА. а это совершенно частный случай общих ссылочных структур.
ты причепился к таймерам, явно ни разу их не программируя на плюсах!!!, потому что сразу увидел бы, что таймер это класс!!!, и его использование в ООП предполагает НАСЛЕДОВАНИЕ!!! и возможно изменение размера этого класса. и нельзя потому сделать «очередь из таймеров» на массиве, еклмн! пользоательские таймеры имеют неспецифмцированный размер, и потому твой код потому полностью мусорный. максимум ты можешь выжать из массива тут - массив указателей на базовый таймер… после чего твоя логика неиспользования указателей, ибо медленно, кеш и все такое - летит к черту. поскольку ты сделал косорукий список, и у тебя вместо перехода по указателю в поле next (как у нормального списка), стал переход по указателю в поле массива array[i+1]…ты создал лютейшую жопу, которая по всем параметрам хуже просто списка, даже по скорости итерации и кеш хитам(потому что у тебя обьекты отдельно, указтели отдельно).
итак в «таймеры из жизни» твои массивы/рингбуфферы не шмогли… в лисп массивы не шмогут по той же причине. на самом деле массивы не могут практически везде, и потому - на колу мочало - начинай сначала.