Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2011, 09:23   #1
bearwoolfs
 
Регистрация: 10.01.2011
Сообщений: 8
По умолчанию Функции

Друзья помогите разобратьсясо строкой функции. Что она означает ?

void DC(void(*)(int &, int &),int &, int &)
bearwoolfs вне форума Ответить с цитированием
Старый 10.06.2011, 09:42   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

void DC(
void(*) // Любой операнд типа - структура
(int &, int &),// Любые указатели передаваемые в структуру в виде аргументов
int &, int &)// Любые указатели передаваемые в функцию в виде аргументов
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.06.2011, 09:44   #3
Scaevola
Пользователь
 
Аватар для Scaevola
 
Регистрация: 08.06.2011
Сообщений: 25
По умолчанию

Никогда раньше такого не видел.
Scaevola вне форума Ответить с цитированием
Старый 10.06.2011, 09:57   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Scaevola Посмотреть сообщение
Никогда раньше такого не видел.
В С++, ещё и не такое бывает.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.06.2011, 09:57   #5
bearwoolfs
 
Регистрация: 10.01.2011
Сообщений: 8
По умолчанию

Smitt&Wesson благодарю. Как раз не мог понять что в функцию идет , а что в структуру.
bearwoolfs вне форума Ответить с цитированием
Старый 10.06.2011, 09:59   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

На весики нажми
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.06.2011, 10:04   #7
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Функция, получающая в качестве аргумента указатель на функцию. Эта вторая функция-аргумент имеет тип возвращаемого значения void, и два аргумента - ссылки на int. Функция DC в качестве второго и третьего аргумента также получает ссылки на int и предполагается, что именно их-то мы и будем передавать функции-аргументу в качестве параметров.
Код:
void DC(void (*f)(int&, int&), int& x, int& y)
 {
 std::cout << "Call function by pointer with argumentes " << x << " and " << y << std::endl;
 f(x, y);
 }

void swap(int& a, int& b)
 {
 int t = a;
 a = b;
 b = t;
 }

void Inc(int& m, int& n)
 {
 ++m;
 ++n;
 }

int main()
{
int p = 5, q = 3;
int c;
std::cout << "p = " << p << "; q = " << q << std::endl;
std::cout << "Choose action: \"1\" - swap, \"2\" - increment" << std::endl;
std::cin >> c;
if (c == 1)
 DC(swap, p, q);
else if (c == 2)
 DC(Inc, p, q);
else
 std::cout << "Wrong choise" << std::endl;
std::cout << "p = " << p << "; q = " << q << std::endl;
std::cin.ignore();
std::cin.get();
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 10.06.2011, 10:19   #8
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

bearwoolfs

void DC(
void(*) // Любой операнд типа - структура
(int &, int &),// Любые указатели передаваемые в структуру в виде аргументов
int &, int &)// Любые указатели передаваемые в функцию в виде аргументов


это полный бред, ляпнешь такое на зачёте - пересдача гарантирована.

правильный ответ - у Гром
Rififi вне форума Ответить с цитированием
Старый 11.06.2011, 07:23   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
Смех

Цитата:
Сообщение от Rififi Посмотреть сообщение
bearwoolfs

void DC(
void(*) // Любой операнд типа - структура
(int &, int &),// Любые указатели передаваемые в структуру в виде аргументов
int &, int &)// Любые указатели передаваемые в функцию в виде аргументов


это полный бред, ляпнешь такое на зачёте - пересдача гарантирована.

правильный ответ - у Гром
Мне и самому стало интересно, но тема уплывала в небытие с нулевыми ответами. Надо было как-то тему подстегнуть. Результата я добился (опыт соционики) хотя и получил минус в репу, но это того стоило.
Гром - спасибо.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52
Функции в си. Вывод двумерного массива из функции. Evgen51 Общие вопросы C/C++ 9 13.05.2010 03:59
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57