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

Передача функции, как параметра - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.73
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
05.03.2011, 20:39     Передача функции, как параметра #1
у меня в алгоритме в некоторый момент ищется значение функции.этот алгоритм нужен для нескольких функций.можно ли передать в качестве параметра функцию которую нужно использовать вместо того чтобы для каждой функции переписывать алгоритм?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chaot
6 / 6 / 1
Регистрация: 28.02.2011
Сообщений: 20
05.03.2011, 20:41     Передача функции, как параметра #2
Вы можете создать указатель на функцию и его передавать в качестве аргумента другим функциям.
Страуструп об указателях на функции
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.03.2011, 20:52     Передача функции, как параметра #3
в C++0x
C++
1
2
3
4
5
#include <functional>
///some code
// без квадратных скобок
std::tr1::function< [тип возвращаемого значения] ([параметры функции]) > obj_func; //объект с указателем на функцию
//вызываем как обычную функцию
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.03.2011, 10:31     Передача функции, как параметра #4
Цитата Сообщение от Artishok Посмотреть сообщение
у меня в алгоритме в некоторый момент ищется значение функции.этот алгоритм нужен для нескольких функций.можно ли передать в качестве параметра функцию которую нужно использовать вместо того чтобы для каждой функции переписывать алгоритм?
Даже нужно. STL sort и другие алгоритмы тому явный пример.
Yandex
Объявления
06.03.2011, 10:31     Передача функции, как параметра
Ответ Создать тему
Опции темы

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