Форум программистов, компьютерный форум CyberForum.ru

Обратные вызовы - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.04.2013, 08:21     Обратные вызовы #1
Здорова господа!
Я от решаю задачку: Напишите класс или шаблон, подходящие для реализации обратных вызовов.
Не сильно ясно, что такое обратный вызов?
Задача из раздела обработка исключений.

Добавлено через 45 минут
Кро может простой примерчик обратного вызова привести?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 08:21     Обратные вызовы
Посмотрите здесь:

Взаимно обратные числа C++
C++ Вызовы функций с указателями
вызовы конструкторов C++
Системные вызовы C++
C++ Системные вызовы и работа с процессами
Не понимаю вызовы C++
C++ Обратные корни по теореме Виета
Потоковые и обратные итераторы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
15.04.2013, 11:00     Обратные вызовы #2
Цитирую из википедии:
фу́нкция обра́тного вы́зова — передача исполняемого кода в качестве одного из параметров другого кода. Обратный вызов позволяет в функции исполнять код, который задаётся в аргументах при её вызове.
Цитата Сообщение от ninja2 Посмотреть сообщение
Кро может простой примерчик обратного вызова привести?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
template <typename T>
void Print(T& value)
{
   std::cout << value << " ";
}
 
template <typename T>
void Sqr(T& value)
{
   value *= value;
}
 
template <typename T>
void ForAll(T* begin, T* end, void func(T&))
{
   for (; begin < end; ++begin)
   {
      func(*begin);
   }
}
 
int main()
{
   int arr[10] = { 5, 4, 6, 7, 1, 2, 8, 9, 0, 3 };
 
   ForAll(arr, arr + 10, Print);
   std::cout << std::endl;
 
   ForAll(arr, arr + 10, Sqr);
 
   ForAll(arr, arr + 10, Print);
   std::cout << std::endl;
 
   return 0;
}
Результат выполнения на http://liveworkspace.org/code/3bHUcv$0
Yandex
Объявления
15.04.2013, 11:00     Обратные вызовы
Ответ Создать тему
Опции темы

Текущее время: 06:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru