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

Какой паттерн подойдет, чтобы избежать длинных ветвлений? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не инициализируются структуры без конструктора http://www.cyberforum.ru/cpp/thread1780893.html
Доброго времени суток. Прошу объяснить следующий момент) struct vert { vert(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {} float x, y, z; }; int main() { vert* vertices = new vert
C++ Функция с типом char, которая должна возвращать интовое значение Всем привет. Странное дело. Есть функция с типом char, которая должна возвращать интовое значение в виде площади квадрата (так по заданию нужно). написал следующий код: #include <iostream> using namespace std; char ArOfShp (int); void main () { int sqsd; cout << "Enter square side: "; cin >> sqsd; http://www.cyberforum.ru/cpp/thread1780888.html
Проинциализировать и использовать массив указателей на функции C++
Пытаюсь проинциализировать и использовать массив указателей на функции. Компилятор упорно выдает ошибку, даже если следовать многочисленным примерам в интернете и книгах: myclass.h void a(); void b(); void c(); void (*funPtrsArray)() = {a, b, c};//ошибка "a brace-enclosed initializer is not allowed here before '{' token" //ISO C++ forbids...
Как закрыть поток после вызова detach()? C++
Всем здрасьте ! С join всё понятно, программа ждёт, когда завершится этот поток. Допустим я вызвал метод detach, как мне поток закрыть ? void My() { // actions
C++ WinAPI Как выключить монитор программно? http://www.cyberforum.ru/cpp/thread1780852.html
Имеется 2 противоположных вопроса: * Как выключить монитор програмно? При этом должно остаться срабатывание на мышь и клаву. * Как не дать таймеру сработать пока работает приложение?
C++ Что делает Thread::joinable? Всем здрасьте ! Объясните мне, пожалуйста, что именно делает этот метод и как может мне помочь ? std::thread::joinable подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12282 / 6969 / 784
Регистрация: 27.09.2012
Сообщений: 17,282
Записей в блоге: 2
Завершенные тесты: 1
14.07.2016, 23:38     Какой паттерн подойдет, чтобы избежать длинных ветвлений?
Цитата Сообщение от tapochka Посмотреть сообщение
как быть?
как вариант - сделать какой-нибудь any с реализацией type erasure,
запихать туда std::function и сделать map/vector/array из any с разными "функциями" внутри.

Еще вариант - map/vector/array с std::function/функциями типа void(std::vector&).
Затем arr[a](vec);. Каждая "функция" вызывает что нужно у вектора.
 
Текущее время: 06:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru