Анонимные функции (как и функции с избыточным числом параметров вместо одной структуры) нарушают структуру кода, раздувают вызовы функции до неприличных размеров, затрудняют отладку. Указатели - пока что неизбежное зло. Я упоминал арифметику указателей, погуглите что это такое.
никто не мешает анонимку преобразовать в обычный метод в классе и всё так же передать в качестве аргумента, но что если в этом методе, при нормальной организации, происходит 2-3-4 вызова? т.е. 2-3-4 строчччки кода? Ради них городить целый отдельный метод? Не всегда рационально же