> У тебя тоже проблемы с отслеживанием дискуссии на три поста?Естественно. Ты мечешься между "списки быстрее массивов" и "списки писать проще чем массивы", сложно отследить, что именно тебя волнует в данный момент больше. Поэтому, на всякий случай, лучше бить по площадям.
> Вернись и
> почитай, что именно я оспаривал, а с чем молча согласился. Потом
> подумай, как написанное тобой относится к моим возражениям. В чем ты
> сейчас меня пробуешь убедить, мне совершенно непонятно.
В том, что а) синтаксис слайсов из Go -- это превосходный и лаконичный синтаксис для работы со "списками", в смысле с контейнерами-последовательностями; б) там где есть такой синтаксис, связные списки не нужны. Причём не нужны не только в стандартной библиотеке, но и в качестве наколенной реализации.
> Отдельно отмечу, что перед циклом я обрабатываю не краевой случай, а условие
> передачи нулевого указателя и мой код отработает в этом случае корректно,
> а твой свалится с сегфолтом.
В мой код не будет передан нулевой указатель, в этом нет никакой нужды. Там есть поле len, которого более чем достаточно для того, чтобы функция filter не выходила бы за рамки safe поведения.
> Еще веселее, что при всех заумных
> разговорах о стратегиях кеширования процессора, твоя реализация будет вынуждена при добавлении
> элемента каждый раз заново выделять память на весь массив и осуществлять
> его полное копирование, ведь ты забыл предусмотреть хранение размера выделенного буфера
> в отдельном поле.
Мой код, если ты не заметил, не добавляет элементов. В нём даже не реализована неспецифическая операция удаления элемента, есть лишь функция filter, которая де факто элементы удаляет, но специфическим образом. Так что кто из нас "заумнее" -- это ещё посмотреть надо.