Ответы пользователя по тегу Полиморфизм
  • Издержки полиморфизма или неправильный дизайн?

    1. Не нужно пихать getChar и getFloat в абстрактный класс.
    Но если таки делаешь заглушки - кидай полноценную ошибку, чтобы гарантировать корректное использование.

    2. Вместо этого можно было бы использовать паттерн visitor - по крайней мере его часто используют в ситуациях, которые похожи на твою

    3. Вместо указателей на классы можно попробовать union - для этого есть std::variant. Это будет чуть более эффективно по памяти, хоть размер массива может вырасти, если вместо float будет double, а вместо char - какой-нибудь wchar или "руна", или если добавится ещё какой-нибудь тяжёлый вариант. А до этого такой Юнион можно уместить в 8 байт вместе с выравниванием.
    Ответ написан
    1 комментарий