Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
ВнизСравнение Найти похожие ветки
← →
Ega23 © (2007-09-28 17:19) [40]
> Клоню к тому, что если оба объекта являются объектами единого
> класса-наследника TComponent, и св-ва, подлежащие сравнению,
> являются опубликованными, то сравнение сводится к элементарной
> записи обоих объектов в потоки и тривиальное бинарное сравнение
> (ComareMem) содержимого этих потоков.
Нечто подобное я ещё в [1] предлагал.
Хотя для Tcomponent c его WriteComponent - действительно интересное решение.
Возьму на заметку.
← →
Сергей М. © (2007-09-28 17:22) [41]
> Ega23 © (28.09.07 17:19) [40]
> Tcomponent c его WriteComponent
Точнее Read/WriteComponent - это меоды стримов, а не компонентов.
Но суть одна и та же.
← →
Sandman31 (2007-09-28 17:37) [42]Записывать в потоки, чтобы сравнить 2 объекта???
Посмотрите на то, как сравнение организовано в java. Метод equals(Object) находится в предке всех классов, а различные IDE позволяют генерировать тело метода автоматически. Да еще и hascode автоматически генерировать, чтобы правильно работали коллекции типа Hashtable.
← →
ferr © (2007-09-28 17:38) [43]> а различные IDE позволяют генерировать тело метода автоматически.
> Да еще и hascode автоматически генерировать, чтобы правильно
> работали коллекции типа Hashtable.
Что-то мне кажется что это дело компилятора а не ide.
← →
Сергей М. © (2007-09-28 17:42) [44]
> Sandman31 (28.09.07 17:37) [42]
> Записывать в потоки, чтобы сравнить 2 объекта
Почему бы и нет, если свойств не так уж и много ?
Это по сути тот же циклический проход по опубликованным св-вом, но неявный.
> Метод equals(Object) находится в предке всех классов
Ничто не мешает реализовать его функц.аналог в данном случае.
← →
Sandman31 (2007-09-28 17:44) [45]ferr © (28.09.07 17:38) [43]
Программист может подкорректировать, если хочет.
← →
Сергей М. © (2007-09-28 17:45) [46]
> Sandman31 (28.09.07 17:44) [45]
Кстати, наверняка существуют ДелфиIDE-эксперты, делающие то же самое.
← →
Sandman31 (2007-09-28 17:46) [47]Сергей М. © (28.09.07 17:42) [44]
Почему бы и нет, если свойств не так уж и много ?
1. Потому что происходят лишние операции. Особенно если отличия в первом поле.
2. Программист учится плохому :)
← →
Sandman31 (2007-09-28 17:47) [48]Сергей М. © (28.09.07 17:45) [46]
Надеюсь. Вот их и надо использовать, а не изобретать квадратное колесо.
← →
KSergey © (2007-09-28 17:51) [49]> Сергей М. © (28.09.07 17:42) [44]
> > Записывать в потоки, чтобы сравнить 2 объекта
> Почему бы и нет, если свойств не так уж и много ?
Да как бы это... Дороговасто, однако, получается. И памяти как минимум еще на 2 копи объекта надо...
не, комп. железный, конечно, но как-то это...
← →
имя (2007-10-07 22:11) [50]Удалено модератором
← →
имя (2007-10-07 22:13) [51]Удалено модератором
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.144 c