Здравствуйте, Sinclair, Вы писали:
S>Ну, во-первых, в этом коде — две ошибки.
S>1. Забыл поделить на 4.
S>2. Забыл, что array[x, y] будет прочитан на следующей итерации, а он к этому моменту уже испорчен присваиванием. Надо усреднять в другой массив.
Сорри, но на конкретный алгоритм пелевать...
Сделай как тебе надо.
Мне надо было показать тебе "место", куда вставлять тело.
V>>Учитывая новый ref-return, можно попробовать пойти еще дальше:
V>>[cs]
V>>[cs]
V>>interface IArray2d<T> {
V>> ...
S>Здесь добавлена ещё одна ошибка.
ага
еще апмерсенды не стоят
V>>А другой программист должен будет еще этот код читать, верно?
S>Совершенно верно. К примеру, сколько времени уйдёт у другого программиста на то, чтобы разобраться вот в этой лапше с fixed и найти в ней ошибку?
Я думаю, что ошибку ты нашел сразу же, просто читая код.
А ошибки синтаксиса подскажет студия или компилятор (забытые амперсенды).
Поэтому, правильный ответ — нисколько.
И да, протягивание курсоров по памяти — это не лапша, а стандартный подход к таким вещам.
Кто их программирует, тому читается нормально.
================
Хотя, как заметил рядом, это всё называется "использование инструмента не по назначению".
Бо на выходе и у тебя и у меня — полная хрень, положа руку на.
Особенно у тебя. )))
На плюсах это записывается всяко проще, а абстракции над произвольными структурами данных делаются еще на порядки проще.
Всё-таки, генерики дотнета — это не генерики в полноценном смысле этого слова, т.к. не отвечают привычным требованиям генериков, бо их ограничения не входят в сигнатуры генерик-типов и методов. Это какая-то слаботипизированная хрень по мотивам якобы генериков. Сто процентов за пару вечеров на коленке налабали.
Работать с ними страшно неудобно как в сравнении с обычными типизированными генериками, так и в сравнении с полностью нетипизированными шаблонными параметрами в плюсах.
Даже взять твои рассуждения в первом же посте этой серии — ведь хорошо же видно, что надо еще и ПРИДУМАТЬ, как раскидать абстракции и каким идентификаторам какие ответственности назначить. ПРИДУМАТЬ тут капсом, бо простого/естественного назначения ответственностей не получается из-за мгновенно возникающих конфликтов или неподдерживаемых языком конструкций. ))