Size: a a a

2020 August 16

RM

Roy Mustang in C++ Together 2.0
Roman na
и? Запиливай ссылку, что тебе мешает?
Ты не понял, там не один указатель лежит, а от одного до N может лежать
источник

Rn

Roman na in C++ Together 2.0
ну а откуда у тебя взялся вектор? И откуда ты это родил вообще
источник

D

Danya in C++ Together 2.0
Roy Mustang
А ты как себе представляешь в компайлтайм индексировать типы?)
ctti
источник

RM

Roy Mustang in C++ Together 2.0
Например, нам нужно модуль логирования и баз данных, мы говорим App, дай-ка нам объект класса ModuleLog и ModuleDB, ну он дает нам оба указателя, отсюда и вектор чтоб эти 2 указателя по типам разместить в векторе
источник

RM

Roy Mustang in C++ Together 2.0
Danya
ctti
Это же для индексации типов
источник

D

Danya in C++ Together 2.0
Roy Mustang
Это же для индексации типов
Ну а я на что ответил?
источник

Rn

Roman na in C++ Together 2.0
Roy Mustang
Например, нам нужно модуль логирования и баз данных, мы говорим App, дай-ка нам объект класса ModuleLog и ModuleDB, ну он дает нам оба указателя, отсюда и вектор чтоб эти 2 указателя по типам разместить в векторе
не, этот маздайский анскильный рак не лечится. Слишком много макак из жабы говнарпа понабежали в маздайское си с классами дерьмо и что-то кукарекают
источник

RM

Roy Mustang in C++ Together 2.0
Roman na
ну а откуда у тебя взялся вектор? И откуда ты это родил вообще
Создам класс ModuleFactory какой нибудь, который будет легковесным, в нем будет лежать вектор, который имеет указатели и методы AddFactory и GetFactory
источник

RM

Roy Mustang in C++ Together 2.0
Roman na
не, этот маздайский анскильный рак не лечится. Слишком много макак из жабы говнарпа понабежали в маздайское си с классами дерьмо и что-то кукарекают
пля, субтитры есть?
источник

RM

Roy Mustang in C++ Together 2.0
Нихуя не понял
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Еще нуждаюсь в совете, не знаю как лучше архитектурно реализовать возможность плагинов получать указатели на сторонние модули. В голову пришла только одна хорошая идея, это в списке инициализации вызывать this->GetModule()->GetApp()->GetModule<Type>
Кароче, вопрос, почему ты не можешь модули передавать при инициализации, в стиле DI.
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Кароче, вопрос, почему ты не можешь модули передавать при инициализации, в стиле DI.
Они и так передаются
источник

🦊

🦊fox.cpp in C++ Together 2.0
Заодно сможешь делать юнит-тесты для этого говна
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Они и так передаются
Окей, в чем проблема, ещё раз?
источник

RM

Roy Mustang in C++ Together 2.0
Есть виртуальный метод в HFModule базовом классе, он вызывается для всех классов модулей
источник

🦊

🦊fox.cpp in C++ Together 2.0
Слишком долго писать?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Из этих Get цепь
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Окей, в чем проблема, ещё раз?
Проблема в том, что у каждого класса (модуля) есть множество классов (плагинов), которые берут на себя функционал, этим ребятам тоже нужно иногда получать указатели на другие модули, например, для логов
источник

RM

Roy Mustang in C++ Together 2.0
А об указателях знает только класс модуля родительский
источник

🦊

🦊fox.cpp in C++ Together 2.0
Ну сделай функцию-хелпер, или таскай app, или глобальным сделай app
источник