sealed class является встроенной реализацией tagged union. untagged union в сишном стиле является антипаттерном даже в языке С++, не говоря уже о языках более высокого уровня .
А как быть с примитивами? Я не могу их наследовать от какого-то силеда
Врапать и не выделываться. Ты всё равно, приводя тип примитива к Any, его боксишь автоматом.
а, не пройдет
В свой sealed class с наследником per primitive.
В общем, резюме: не заморачивайтесь, боксинг все равно будет; но можно вступить в секту свидетелей Valhalla.
Если честно, не совсем понимаю что имеется под боксингом (хотя речь наверное о контейнере с двумя принимающими значениями). Я думаю как сделать это типизированно (у меня наврапленные классы под всякие кейсы) и там может быть 'функциональный объект' (объяснить сложно что конкретно имеется ввиду из-за особенности задачи) или прямо указанное значение (примитив). Так что не заморачиваться не получится, нужно придумать как мейнтейнить ситуацию с двумя кейсами нормально) В общем наверное буду делать как вы наверное.
Не зря значит последнюю лекцию делал, на днях выйдет
оххх, и где можно будет посмотреть?
https://www.youtube.com/playlist?list=PL1iwBJ9vqBRbmM8de93U4I412D3YLN39L тут. Последняя лекция как раз про организацию памяти и боксинг
Спасибо, посмотрю
Обсуждают сегодня