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

Вектор функций? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подключение камеры через FireWire к opencv http://www.cyberforum.ru/cpp/thread1600697.html
Столкнулся с проблемой, работаю с VS12 Opencv 3.0.0 и программа не находит камеру с FireWire, обычную вебку без проблем. Старая версия OPENCV231 находила без проблем, новая же увы Код для пробы самый простой #include "opencv2/opencv.hpp" using namespace cv; int main() {
C++ Построить хеш-таблицу списка слов из файла Уважаемые, программисты, задание звучит так - "Входной файл содержит список не повторяющихся слов и разделенных переводами строки. Построить хеш-таблицу и вывести на экран." http://www.cyberforum.ru/cpp/thread1600431.html
Передача данных приложению №1 запустившего приложение №2 C++
Приветствую. Запускаю приложением №1 через ShellExecuteEx приложение №2 Можно ли как-то через хендл приложения №2 передать данные приложению №1? Может через CreateProcess?
Как измерить время работы потока? Openmp C++
Как измерить время работы потоков в рекурсивной функции? например есть функция (примерный код) void function(int i, int j ) { #pragma omp task if (i>j) function(i, j ); #pragma omp task if (i<j) function(j, i );
C++ Перехватить обработчик исключений, выдать сообщение http://www.cyberforum.ru/cpp/thread1598554.html
Выделить память под два массива 1000х500 и 500х1000 элементов типа int и заполнить их случайными числами в интервале от 0 до 100. Защитить от записи страницы первого массива. Перемножить эти два массива и выдать результат на экран. Перехватить обработчик исключений. Дать команду на обнуление массивов. На исключение о защите памяти выдать сообщение с указанием названия массива, который не...
C++ Нарисовать окружность, треугольник и касательные Из вершины С треугольника ABС, как из центра, описаны концентрические окружности, к которым из точек A и B проведены касательные. Геометрическое место точек пересечения пар касательных есть кривая K с узловой точкой С, проходящая через вершины треугольника. Касательные к ней в точке С являются биссектрисами угла ACB и смежного с ним. Если AC=BC, то кривая вырождается в медиатрису отрезка AB и... подробнее

Показать сообщение отдельно
Minchanin-Bel
5 / 5 / 1
Регистрация: 19.09.2010
Сообщений: 173
03.12.2015, 19:34  [ТС]     Вектор функций?
Зато вот так прокатило

Насколько верна подобная реализация? Лямбда функции и все такое, а затем в цикле вызов элементов.

Прототипы:

C++
1
2
3
4
5
void            checkFuncCalls(LA::LexAnalyzer& la);
void            checkExpressions(LA::LexAnalyzer& la);
void            checkConditions(LA::LexAnalyzer& la);
void            checkAssignments(LA::LexAnalyzer& la);
void            checkReturnValues(LA::LexAnalyzer& la);
Вектор:

C++
1
2
3
4
5
6
7
std::vector<std::function<void(LA::LexAnalyzer&)>> semantic = {
            [&](LA::LexAnalyzer& la) { checkFuncCalls(la); },
            [&](LA::LexAnalyzer& la) { checkExpressions(la); },
            [&](LA::LexAnalyzer& la) { checkConditions(la); },
            [&](LA::LexAnalyzer& la) { checkAssignments(la); },
            [&](LA::LexAnalyzer& la) { checkReturnValues(la); }
        };
Добавлено через 19 минут
А можно это как-нибудь через for_each (foreach) оформить?

C++
1
2
3
4
5
6
7
8
9
10
11
12
std::vector<std::function<void(LA::LexAnalyzer&)>> semantic = {
    [&](LA::LexAnalyzer& la) { checkFuncCalls(la); },
    [&](LA::LexAnalyzer& la) { checkExpressions(la); },
    [&](LA::LexAnalyzer& la) { checkConditions(la); },
    [&](LA::LexAnalyzer& la) { checkAssignments(la); },
    [&](LA::LexAnalyzer& la) { checkReturnValues(la); }
};
std::vector<std::function<void(LA::LexAnalyzer&)>>::iterator it = semantic.begin();
 
for (auto n : semantic){
    n(la);
};
 
Текущее время: 00:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru