В исходниках Arwen, к каждому классу создается:
MetaClass <name>:: classInstance ( "<name>", &Object :: classInstance );
Возникает вопрос - зачем это нужно? Какие от этого преимущества?
Компьютерная графика |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Компьютерная графика » ООП, Python, Ruby, Lua, Obj-C, Smalltalk, D » Зачем MetaClass?
В исходниках Arwen, к каждому классу создается:
MetaClass <name>:: classInstance ( "<name>", &Object :: classInstance );
Возникает вопрос - зачем это нужно? Какие от этого преимущества?
Идея была вынести в этот класс всю метаинформации об объекте, т.е. сделать нормальный RTTI.
Здесь он фактически не доделан, к сожалению по-нормальному данные для таких объектов должны генериться скриптами на основе gccxml, до чего руки так и не дошли.
А идея была - запихнуть туда всю информацию о классе, включая список переменных и методов.
Вы здесь » Компьютерная графика » ООП, Python, Ruby, Lua, Obj-C, Smalltalk, D » Зачем MetaClass?