Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.88
Uragaan
Заблокирован
#1

Захват функции ? - C++

23.07.2011, 14:35. Просмотров 4380. Ответов 79
Метки нет (Все метки)

Полиморфизм

Полиморфизмом в программировании называется переопределение наследником функций-членов базового класса, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Figure
{
    ...
    void Draw() const;
    ...
};
 
class Square : public Figure
{
    ...
    void Draw() const;
    ...
};
 
class Circle : public Figure
{
    ...
    void Draw() const;
    ...
};
А как делают захват той или другой функции ?

http://www.cyberforum.ru/cpp-beginners/thread325205.html

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2011, 14:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Захват функции ? (C++):

Захват файлов
Доброго здравия вам. Я новенький в си, но с большим удовольствием поглощаю...

Захват и управление видеопотоком
Здравствуйте. У меня определенная проблема, но нет знаний чтобы понять ее суть....

Захват видео с экрана
Привет! С помощью чего можно захватить видео с экрана, желательно кроссово и на...

Бесконечный захват памяти
#include <iostream> using namespace std; typedef struct {double A;} F; void...

Не работает захват видео
выдаёт вот такие ошибки: Первый этап обработки исключения в "0x7c80be74...

79
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.07.2011, 12:07 #21
Цитата Сообщение от Kastaneda Посмотреть сообщение
там даже есть такой термин
Только это захват переменных (передача аргументов функции, если по человечески изъясняться), но не захват функции.
0
Kastaneda
Jesus loves me
Эксперт С++
4759 / 2962 / 340
Регистрация: 12.12.2009
Сообщений: 7,520
Записей в блоге: 2
Завершенные тесты: 1
24.07.2011, 12:08 #22
Да, неуточнил.
0
ValeryLaptev
Эксперт С++
1049 / 828 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 12:37 #23
Цитата Сообщение от Kastaneda Посмотреть сообщение
Да, там даже есть такой термин "capture list" - список захвата, располагается между квадратными скобками.
Спасибо! Чувствую, наступает насущная необходимость плотно изучать новый стандарт, хотя он еще и не утвержден окончательно.
0
Kastaneda
Jesus loves me
Эксперт С++
4759 / 2962 / 340
Регистрация: 12.12.2009
Сообщений: 7,520
Записей в блоге: 2
Завершенные тесты: 1
24.07.2011, 12:42 #24
ValeryLaptev, MSVS 2010 и новый GCC уже поддерживают лямбды. Вот, лично мне данное нововведение показалось довольно удобным)

Добавлено через 1 минуту
еще вот, комментарии Страуструпа к 0x.
0
ValeryLaptev
Эксперт С++
1049 / 828 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 12:45 #25
Цитата Сообщение от Kastaneda Посмотреть сообщение
ValeryLaptev, MSVS 2010 и новый GCC уже поддерживают лямбды. Вот, лично мне данное нововведение показалось довольно удобным)
Да с лямдами я знаком очень давно! Честное слово, пока кроме как потакание безалаберности программисам не вижу в них полезности.
Без лямд программер должен больше думать. А с лямдами - можно лепить код по мере написания.
Это потом боком выходит обычно...
Удобство лепить код - не всегда хорошо.
Скорость написания увеличивается, а качество - страдает обычно...
Но холивар заводить не будем, на этом и остановимся...
0
Kastaneda
24.07.2011, 12:49
  #26

Не по теме:

Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Да с лямдами я знаком очень давно!
А я вот относительно недавно с ними познакомился, минусов пока не вижу (не так часто я их и использую).

0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
24.07.2011, 12:53 #27
А кто такие лямды?
0
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
24.07.2011, 12:56 #28
функции объекты. отличие от функторов в возможности определения внутри тела функции
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
24.07.2011, 12:58 #29
А кто такие функторы?
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.07.2011, 12:59 #30
Цитата Сообщение от alex_x_x Посмотреть сообщение
отличие от функторов в возможности определения внутри тела функции
Функторы (функциональные объекты) можно определять внутри функций.
Это безымянные функции, которые можно реализовывать на месте использования. Так чуть ближе к истине.

Добавлено через 20 секунд
Цитата Сообщение от taras atavin Посмотреть сообщение
А кто такие функторы?
std::less<>, например.)))
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
24.07.2011, 13:07 #31
Дайте ссылку на подробное описание, кто такие лямды, функторы и с чем их едят.
0
ValeryLaptev
Эксперт С++
1049 / 828 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:13 #32
Цитата Сообщение от taras atavin Посмотреть сообщение
А кто такие функторы?
Класс, в котором перегружена операция вызова функции operator() - так точнее будет.
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
24.07.2011, 13:15 #33
taras atavin, Вот, там не только про лямбда, но и про другие фичи 0x.
1
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
24.07.2011, 13:15 #34
ValeryLaptev, что то я такого оператора не знаю. Что он делает?
0
ValeryLaptev
Эксперт С++
1049 / 828 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:17 #35
taras atavin, функторы очень хорошо описаны в книжке Шаблоны в С++. Лучше мне не попадалось.
А лямды - это в функциональных языках. Например, в Lisp, Haskell. Ну, или в новом стандарте.
0
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
24.07.2011, 13:18 #36
taras atavin, может тогда перестать писать в разделе ++? толку то все равно нет
0
ValeryLaptev
Эксперт С++
1049 / 828 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
24.07.2011, 13:19 #37
Цитата Сообщение от taras atavin Посмотреть сообщение
ValeryLaptev, что то я такого оператора не знаю. Что он делает?
Это не оператор, а операция вызова функции. И ее можно перегружать как метод класса.
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
24.07.2011, 13:22 #38
Здесь ничего общего с заголовком
Лямбда-функции (Lambdas)
отсюда не видно. И как это относится к заголовку
4. Правые угловые скобки
?
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
24.07.2011, 13:23 #39
taras atavin, Покрути страницу вниз. Крутить начинать от сюда.
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
24.07.2011, 13:26 #40
В Си для создания функторов используются указатели на функцию:

/* callback-функция */
int compare_function(int A, int B) {
return A < B;
}

/* объявление функции сортировки */
void mysort(int* begin_items,
int num_items,
int (*cmpfunc)(int, int));

int main(void) {
int items[] = {4, 3, 1, 2};
mysort(items,
sizeof(items)/sizeof(int),
compare_function);
return 0;
}
. То есть функтором какой то уникум додумался назвать то, что в пасквилятны зовут перемнной процедурного типа?
0
24.07.2011, 13:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2011, 13:26
Привет! Вот еще темы с решениями:

Захват ненужных данных
Здравствуйте! Помогите разобраться, почему считывается одно, а записывается...

Захват видео с камеры. OpenCV
Добрый вечер, форумчане. Возникла проблема с захватом видео. Применяю...

Захват аудио и видео потоков
Стоит задачка захватить аудио дорожку и видео-поток с окна и все это...

Работа с аудио потоками (захват, создание)
Добрый день. Целью является воспроизведение звуков ПК и звука с микрофона...


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

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru