![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| v |
|
|||
|
Unregistered |
Привет всем. Я пересел на C++ недавно (раньше работал на паскале) и столкнулся с такой штукой - в паскале я могу описать функцию внутри другой функции (imho очень полезная фишка), но "С" этого не допускает... Вопрос - кто как из этого выпутывается?
|
|||
|
||||
| Люда |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 24.4.2002 Репутация: нет Всего: нет |
А зачем тебе это, может можно по другому обойтись?
|
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 1 Всего: 62 |
описывай не внутри
|
|||
|
||||
| NetBird |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 19.7.2002 Репутация: нет Всего: нет |
Действительно, иногда ну очень нужно, чтобы функция была видна только в одной или нескольких других функциях. Тут три выхода:
Первый: объявляй в каждой функции свою скрытую функцию, а её текст вставь в самый конец(исходника конечно). Второй: Пишешь саму эту функцию, а за ней только те которые её используют. Третий(самый естесттвенный): используй перегрузку функции и ни каких проблем. Хотя всё зависит от поставленной задачи ! |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Есть еще один путь: создание класса и перегрузки у него оператора operator(), если это, конечно, все-таки С++ а не С.
-------------------- Волны гасят ветер... |
|||
|
||||
| umator |
|
|||
|
Unregistered |
Можно пользоваться пространствами имён namespace.
|
|||
|
||||
| guest |
|
|||
|
Unregistered |
Идея эта не нова. Называется она Functor. Я нашел на google ответ обсуждающий этот вопрос: http://groups.google.com/groups?....ink.net |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Конечно не нова. Имено поэтому ее стоит упомянуть в первую очередь. Хотя опять же, все зависит от того, что хочешь добиться. P.S. Посмотрел ссылку, по моему пример выдран целиком из книги Элджера. -------------------- Волны гасят ветер... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |