Предыдущий пост -
Следующий пост -

callback функции – функции обратного вызова.

Рубрика: C++, Дата: 16 April, 2013, Автор:
Tags:

Здорова господа!

Я от решил разобраться, что такое функции обратного вызова, это так называемые callback функции. Дадим им определение при помощи википедии, а затем напишем небольшой примерчик как они работают. Просто попробуем хотя бы написать. Ну я честно признаюсь мне уже на форуме помогли с примером. Так что летс гоу.

Что же такое функции обратного вызова? Функция обратного вызова в программировании – это передача одного исполняемого кода в качестве параметра другому. Обратный вызов позволяет в функции исполнять код который задается в аргументах при ее вызове.

Вообщем это когда функция принимает в качестве параметра другую функцию. Запутано как то все. Ну ничо. Приведем пример функции обратного вызова. Например qsort() это функция обратного вызова. Вы можете найти ее по ссылке: http://www.kselax.ru/2013/04/funkciya-qsort/   по этом примеру видно, что qsort в качестве четвертого параметра принимает указатель на функцию, чтобы понять как ему выводить в обратном или в прямом порядке, то есть как сортировать ей.

Ладно попробуем щас придумать свои примеры для того чтобы раскрыть хоть как то тему. От мой примерчик:

//primer callback fynkcii
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;

//fynkci9 kotora9 bydet peredavatc9 kak parametr dl9 fynkcii obratnogo vuzova
void funk(string& val)
{
	cout <<val<<' ';
}

//fynkci9 obratnogo vuzova
void callback(string* nach, void call(string&))
{
		call(*nach);
}

int main()
{
	string s="Hellow world gacpada";
	callback(&s, funk);
	
	cout <<endl;
	
	return 0;
}

От он как то наглядно показывает как всетаки работают функции обратного вызова. callback – это функция обратного вызова. Ей передается в качестве второго параметра функция funk(), которая выводит уже на печать строку string. Оказалось все очень просто. Мы видим, что ничего сложного нету.

[youtube]http://www.youtube.com/watch?v=0jIZam2seGw[/youtube]

  • Vasya

    Ужасный стиль написания, закрыл вкладку после первого же абзаца.

    • Ну извини, как мог так и описывал, я изначально когда блог создавал, то писал статьи исключительно для себя, что б мне было одному понятно что я там написал, а щас я сам читаю и не помню когда я это писал :).

      Да какое там описание нужно, функция обратного вызова это просто функция которая принимает в качестве параметра какую нить функцию и ее вызывает и все.

rss