![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
Может не совсем четко выразился, но интересует, как реализован простейший шаблон, например список. Можно ли его принципиально реализовать с помощью макросов. Интересуюсь с целью попытаться сделать что-то подобное для другого ЯП. А в Элджере почти ничего нет по этому поводу.
-------------------- С уважением, Попов Д.А. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
В Элджере был дан примерчик того, как обходились без STL и упоминал о том, что первые версии STL были реализованы через макросы. Интересно было бы увидеть как. Т.к. хочется нечто подобное реализовать в Фортране 2003. Было бы удобно один раз описать шаблон списка и использовать его далее для любых типов.
-------------------- С уважением, Попов Д.А. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Извращенец... Зачем? Шаблоны же есть, с помощью которых STL и написан. Исходники, кстати, открытые - бери и смотри. |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
Надо просто сделать подобное для Ф2003
-------------------- С уважением, Попов Д.А. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Не думаю, что STL-код очень поможет... Хотя могу и ошибаться. |
|||
|
||||
| Hurricane |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 10.4.2007 Репутация: 6 Всего: 9 |
+1. Напрасная трата времени - с С-шным препроцессором трудно соревноваться, да и там вариант на макросах - это детский лепет. Хотя с современными Фортранами я никогда не работал. |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
Вообще говоря, Ф2003 поддерживает полностью вызовы функций C/C++ и типы данных, в т.ч. классы. Дело все в том, что удобно, не завязываясь на типе данных, запихнуть его в отработанный контейнер, а не придумывать свое. Для этого шаблоны и делали. Интересно, а можно ли оболочку для обращения к шаблону STL из Ф создать? Это решило бы все проблемы. Кстати, e-mail Степанова никто не знает?
-------------------- С уважением, Попов Д.А. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
А как насчет поддержки С++-шаблонов? а шаблонов шаблонов? а шаблонных параметров шаблонов? если поддерживает - хорошо. |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
Если бы. Вот и думаю, можно ли как-нибудь это дело в Ф. макросами обойти. Препроцессор там не слабее C-шного.
-------------------- С уважением, Попов Д.А. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Что-то я ничего не понял, если честно... Что этот код призван сделать? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Тока вот этот вот macro_list.hpp ещё долго писать придётся. И то имитация очень слабая. Никакого автоопределение типов шаблонов для функций мы никогда не сможем сделать, скажем
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Да я не против. Фортран не знаю совсем.
|
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
Спасибо за совет. Дело все в том, что новый стандарт Фортран 2003 пока более-менее реализован лишь в NAG Fortran 5.1 - там полноценный ООП, стандартизованы средства вызова C/C++ функций из Ф без внешних интерфейсов и т.п. И ООП там достаточный для создания основных классов-контейнеров, но нет шаблонов - м.б. и не будет. Но хочется один раз написать контейнерный класс и использовать его для различных данных. Вот и встал вопрос, а как это сымитировать.
Это сообщение отредактировал(а) popovda - 14.5.2007, 10:57 -------------------- С уважением, Попов Д.А. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |