История изменений
Исправление den73, (текущая версия) :
Когда я прочитал где-то про сравнения строк, чуть не упал. Очевидно же любому лисперу, что надо запихнуть иды классов (числа или адреса неких структур) в хеш-таблицу. Но без хеш-таблицы или иного словаря я не вижу, как сделать dynamic_cast. То, что написано в статье по ссылке, это изыск, фактически там просто подбирается способ нумерации классов таким образом, чтобы хеш-функция не имела конфликтов и в каждом ведре было гарантированно по одному элементу. И это опирается на полный анализ всей программы (полный список классов должен быть известен во время генерации ид-ов класса). Во всяком случае, я так понял.
Исправление den73, :
Когда я прочитал где-то про сравнения строк, чуть не упал. Очевидно же любому лисперу, что надо запихнуть иды классов (числа или адреса неких структур) в хеш-таблицу. Но без хеш-таблицы или иного словаря я не вижу, как сделать dynamic_cast. То, что написано в статье по ссылке, это изыск, фактически там просто подбирается способ нумерации классов таким образом, чтобы хеш-функция не имела конфликтов. ВО всяком случае, я так понял.
Исправление den73, :
Когда я прочитал где-то про сравнения строк, чуть не упал. Очевидно же любому лисперу, что надо запихнуть иды классов (числа или адреса неких структур) в хеш-таблицу. Но без хеш-таблицы или иного словаря я не вижу. То, что написано в статье по ссылке, это изыск, фактически там просто подбирается способ нумерации классов таким образом, чтобы хеш-функция не имела конфликтов. ВО всяком случае, я так понял.
Исходная версия den73, :
Когда я прочитал про сравнения строк, чуть не упал. Очевидно же любому лисперу, что надо запихнуть иды классов (числа или адреса неких структур) в хеш-таблицу.