Чепурні мультиметоди для сучасного С++
Мультиметоди, або ж множинна диспетчеризація, це механізм вибору однієї з декількох функцій в залежності від динамічних типів або значень аргументів. Потреба в такому механізмі виникає, наприклад, в архітектурних рішеннях, де численні класи взаємодіють між собою у специфічний для кожної пари спосіб. C++ на рівні мови не підтримує такий механізм а пропозиції щодо розширення C++ такими інструментами не включені до попереднього плану C++23. Метою цієї статті не є просування готового рішення, що підійшло б усім і на усі випадки. Натомість у цій статті ми з вами розглянемо, які підходи можна використати для різних сценаріїв використання. 225