Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22

В древности этим преподаватели якобы"убивали" зарвавшихся студентов

15.12.2012, 12:34. Показов 2544. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне рассказали историю, что этот вопрос валил студентов напрочь

"напишите прототип функции, принимающей в качестве одного из своих аргументов, указатель на такую же функцию"
Вопрос - это задание имеет смысл?
Можно ли его выполнить.
И в чем подвох?
Может это просто бессмыслица?

Так как мне в такой теоретической постановке ничего подобного делать не приходилось.
Подскажите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2012, 12:34
Ответы с готовыми решениями:

Ореол древности
В самом деле, ведь все сокровища искусства, которыми мы обладаем сегодня, это всего-навсего предметы ежедневного обихода трех-,...

Определить коэффициент древности имени
Катя очень любит историю, поэтому ей подарили книгу про древние индейские имена. В книге утверждается, что коэффициент древности имени...

С чем сравнивали геометрические тела в древности?
С чем сравнивали геометрические тела в древности? Можно примеры! Добавлено через 4 часа 55 минут Что никто не знает? Добавлено...

28
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
15.12.2012, 19:19
Студворк — интернет-сервис помощи студентам
Nick Alte, первый раз вижу такой typedef
C++
1
typedef void foofunc(footype);
что-то не догоняю, как можно создать экземпляр (не указатель) этого типа?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
15.12.2012, 19:34
Kastaneda, как я понял, создается простой прототип функции.
Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef void foo( int );
 
int main() {
   foo b;
 
   b( 10 );
 
   return 0;
}
 
void b( int num ) {
   std::cout << num << std::endl;
}
Добавлено через 1 минуту
EDIT: наверно правильнее будет сказать создается сигнатура а не прототип.
1
15.12.2012, 20:44

Не по теме:

Ну да, что-то сам не додумался. Век живи - век учись :)

0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
15.12.2012, 21:20
Цитата Сообщение от Kastaneda Посмотреть сообщение
как можно создать экземпляр (не указатель) этого типа?
Экземпляр (с телом функции) нельзя, но в данном случае оно нам и не надо, достаточно указателей/ссылок/объявлений.
1
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
16.12.2012, 10:52  [ТС]
Все таки удалось от моего собеседника добиться МУ, он утверждает что условиям соответствует всего лишь одна строчка кода. И с видом павлина удалился.:-)

C++
1
void func(void (*)(...));
Честно говоря я смущен. Кто что может подсказать?
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
16.12.2012, 11:00
Параметр - указатель на функцию, принимающую произвольный набор параметров. Указатель на саму эту func не может быть приведён к такому типу неявно, только через принудительный reinterpret_cast. То есть, мы не можем просто вызвать func(func);, приходится преобразовывать, а значит, это не решение. С тем же (на самом деле, даже с бОльшим) успехом можно было бы преобразовывать указатель на void func(unsigned long). С практической точки зрения, здесь открывается простор для всяких ошибок и неприятных вещей.
1
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
16.12.2012, 11:10  [ТС]
Дискуссия чисто теоретическая. Поэтому всем спасибо за участие.
0
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
16.12.2012, 13:01
Цитата Сообщение от nsl Посмотреть сообщение
Все таки удалось от моего собеседника добиться МУ, он утверждает что условиям соответствует всего лишь одна строчка кода. И с видом павлина удалился.:-)

C++
1
void func(void (*)(...));
У меня была така мысль, но я не стал ее озвучивать. Потому что в условии сказано
"напишите прототип функции, принимающей в качестве одного из своих аргументов, указатель на такую же функцию"
и приведенный выше прототип ни как не соответствует поставленой задаче.
1
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
16.12.2012, 13:34  [ТС]
Цитата Сообщение от Kastaneda Посмотреть сообщение
У меня была така мысль, но я не стал ее озвучивать. Потому что в условии сказано

и приведенный выше прототип ни как не соответствует поставленой задаче.
В принципе мне и нужно было мнение сведующего специалиста, спасибо. Из дискуссии мне понятно, что мой собеседник просто что то подзабыл :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2012, 13:34

Новые решения задач древности (Трисекция угла, квадратура круга, удвоение куба)?
В статье рассматриваются три классические задачи древнегреческой математики: трисекция угла, квадратура круга и удвоение куба. В статье...

БД Преподаватели
Нужно создать базу данных преподаватели. может кто - нибудь проверить правильно ли я привел ее к третьей нормальной форме.

БД Преподаватели
Добрый вечер. Создаю базу данных Преподаватели-Дисциплины. И все бы ничего, но с инфологической и информационно-логической моделями...

C#.Преподаватели
Кого боги хотят покарать, того они делают педагогом. Сенека ...

Преподаватели и Студенты.
Всем здравствуйте! При решении одной из задач форума возникла мысль создать тему о взаимоотношении студентов и преподов. Хотелось бы чтоб в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru