Size: a a a

2020 August 16

RM

Roy Mustang in C++ Together 2.0
По сути ничего страшного не произойдет, максимум получит nullptr, но все же
источник

D

Danya in C++ Together 2.0
Aidar Fattakhov
запретили в си++20
Как?
источник

AF

Aidar Fattakhov in C++ Together 2.0
Aidar Fattakhov
шаблоны должны при повторном вызове давать тот же самый результат всегда(иначе уб)
примерно так
источник

AF

Aidar Fattakhov in C++ Together 2.0
просто короче какимто общим ифом который хрен проверишь в реальном коде изза нелокальности
источник

RM

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

RM

Roy Mustang in C++ Together 2.0
Выглядит это ужасно, так как только вверх по иерархий можно двигаться
источник

RM

Roy Mustang in C++ Together 2.0
Чтоб плагин из модуля A мог запросить указатель на класс модуля Б, он должен сначала узнать кто его хозяин (модуль), а уже у него спросить кто App, а потом у App запросить указатель на другой модуль
источник

RM

Roy Mustang in C++ Together 2.0
Либо же, пилить класс фабрику для модуля, который будет хранить в этой фабрике указатели и возвращать их так же по индексации типов и тогда любой плагин сможет запросить указатель из своего модуля на сторонние модули
источник

RM

Roy Mustang in C++ Together 2.0
Что посоветуете? Последнее звучит неплохо, так как интерфейс не нарушается у архитектуры
источник

RM

Roy Mustang in C++ Together 2.0
Тут всего 3 варианта:
1) Запрашивать у своего модуля, создавая методы на каждый указатель стороннего модуля внутри класса (такое себе, это для 10 модулей надо 10 методов заводить)
2) Через список инициализации внутри самого плагина, через родительский модуль достучаться до App и запросить у него указатель на модуль с помощью this->GetModule()->GetApp()->GetModule<Type>
3) Завести класс - фабрику, которая будет хранить в векторе список указателей и через индексацию типов возвращать. Это избавит нужду хранить указатели на модули внутри плагинов
источник

RM

Roy Mustang in C++ Together 2.0
Мне кажется последний вариант очень хорошо вливается в архитектуру. Везде избавляет от нужды хранить указатели
источник

RM

Roy Mustang in C++ Together 2.0
Но встает вопрос, настолько ли это дешева вектор с индексацией типов, а самое главное - быстро ли это в плане производительности?
источник

RM

Roy Mustang in C++ Together 2.0
Жду ваших мыслей (сорян что растянулось, пытался донести суть чтоб понятней было)
источник

Rn

Roman na in C++ Together 2.0
Aidar Fattakhov
запретили в си++20
Всем нормальным пацанам насрать, что там обезьяны в стандарте дерьма запретили. К тому же так сильно запретили, что добавили лямбды в nttp
источник

D

Danya in C++ Together 2.0
Roman na
Всем нормальным пацанам насрать, что там обезьяны в стандарте дерьма запретили. К тому же так сильно запретили, что добавили лямбды в nttp
Как он из смирительной рубашки выбрался?
источник

Rn

Roman na in C++ Together 2.0
к тому же, лупхол - это будущие. Отказ от них == похоронить крестовое дерьмо совсем
источник

D

Danya in C++ Together 2.0
Где санитары?
источник

AF

Aidar Fattakhov in C++ Together 2.0
Roman na
к тому же, лупхол - это будущие. Отказ от них == похоронить крестовое дерьмо совсем
хорони
источник

Rn

Roman na in C++ Together 2.0
да уже похоронено.
источник

AF

Aidar Fattakhov in C++ Together 2.0
скатертью в раст
источник