в зависимости от обстоятельств. Такой типо полиморфизм. внутри одного метода вызываются схожие по назначению функции, но выдающие разный результат. Как правильнее сделать? удобнее всего было бы через массив функций, но, но как это реализовать правильнее? Через массив дружественных функций? или все эти функции прописать как методы класса?
Причем здесь полиморфизм и массив функций? Нужен код.
не могу код кинуть(. но суть в том, что есть метод, который запускает в отдельном потоке функцию с бесконечным циклом. И этих функций с бесконечным циклом у меня будет штук 10.
что не позволяет кинуть кол?
Код не лох, его не кинешь)
Очень зависит от задачи, но пока нет аргументов за то чтобы тащить функции в класс, да и делать их друзьями)
Можно сделать класс запускатора, отвязанного от логики циклов и передать ему при инициализации масив указателей на функции. Так мы развяжем ответственности.
Про результат подробнее...
пишу код для управления rgb матрицы. Так как матрицы штампуют китайцы, ни какого единого стандарта в алгоритме управления этими матрицами нет. драйвера будут реализованны в виде этих самых функций с бесконечным циклом.(желательно, чтоб их было еще и удобно туда добавлять) В либе я создаю буффер и заполняю его, для вывода изображения. изображение выводится на матрицу уже в отдельном потоке, той самой функцией - драйвером. вот, вроде все объяснил
Попробуй пока просто if...
Нет проблемы, которую нельзя было бы не решить доп. абстракцией (кроме проблемы излишних абстракций)
и проблемы как обозвать переменную
Абстракция генератора случайных названий поможет вам решить эту проблему.
Но как назвать этот генератор...
у меня где-т валялся генератор произносимых слов
Так это ты Ложбан написал?
так это не решение
что это?
https://ru.m.wikipedia.org/wiki/Ложбан
Я не знаю, почему там будет бесконечный цикл, Но полагаю, что сюда ляжет на какойто готовый архитектурный паттерн. Например, адаптер (под каждую матрицу своя реализация с набором функций), но унифицированный абстрактный интерфейс для всех драйверов Я делал прошивку-читалку протоколов для мозгов хонды цивика. Там 4 разных протокола общения с мозгами: заводской тормознутый OEM, и тюнинговые QD2, QD3, ISR. И читалка должна переключаться между ними в рантайме. Я разделял все на общие методы чтения/записи в последовательный порт. Протоколы с их конкретными реализациями обработки данных запихал в паттерн Состояние. А самый конечный класс, в котором была связь юзер-мозги в паттерн Компоновщик (не думаю что решение удачное) Как пример
хм. а есть ли у нас constexpr rand?
нет, но сделать наверное не большая проблема
Обсуждают сегодня