![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
Всем привет
Наткнулся на интересную статью в википедии и заинтересовался загадочным для меня словом reflection http://ru.wikipedia.org/wiki/%D0%9E%D1%82%...%D0%B8%D0%B5%29 Как я понял по контексту статьи, это изменение собственного кода самим приложением? или я ошибаюсь Хотел бы задать вопрос: 1) что же это действительно такое? 2) где - нибудь применяется ли? 3) примерчики элементарные не могли бы скинуть? заранее благодарен за помощь |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
Думаю, можно заявить, что в С++ нет интроспекции. Если, конечно, не считать за таковую RTTI.
Это сообщение отредактировал(а) Леопольд - 12.3.2010, 15:45 -------------------- вопросов больше чем ответов |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
null56, как правило подобное есть в языках работающих под VM например Java & C#
для ++ никогда подобного не слышал, хотя нет ничего невозможного. только тут asm надо подключать |
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
chaos, ну про скриптовые понятно, а вот цитата из вики
Добавлено через 5 минут ... я это к тому, а какие возможности в чистом си? |
|||
|
||||
| chaos |
|
||||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
Java тоже понятно. Периодически там пользую reflection. а вот про С ничего не могу скзать. Хотя.....хотя нечто похожее(имхо) есть в Qt. Смотреть классы
|
||||||
|
|||||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
в С++ это например boost.fusion
вырожденный случай - это использование map<string,any> вместо struct, т.е. использование типа данных у которого можно перечислить поля в рантайме Добавлено через 1 минуту и 26 секунд впринципе все можно реализовать на С, но путем невероятного числа строчек кода |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
тут еще как мне кажется важно то, что в языках где это используется, тип есть объект
|
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
В Python'е, например, можно добавлять/удалять поля класса или просто проверять что такое поле существует и т.д. и т.п. Это сообщение отредактировал(а) Леопольд - 12.3.2010, 16:49 -------------------- вопросов больше чем ответов |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
chaos, а что мешает в С++ тип сделать объектом?
наделай объектов "типов" и клонируй их при создании переменных Добавлено через 2 минуты и 48 секунд вобщем на С\С++ можно сделать все, кроме динамической оптимизации но если сделать виртуальную машину, то можно будет сделать динамическую оптимизацию ее кода, хотя неизвестно есть ли в этом смысл %) |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
рефлексия к объектам прямого отношения не имеет, т.е рефлексии абсолютно безразлично ООП это или нет |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |