Про type-safe union разговор закрыли за невозможностью получить оный без шаблонов, правильно?
lpd>Писать код чтобы продемонстрировать полиморфизм, и его отличия от шаблонов?
Нет, просто чтобы можно было сопоставить два листинга рядом и увидеть разницу.
S>>Т.е. мы создаем result в динамической памяти? Дергаем хип и создаем лишнюю косвенность там, где можно было обойтись передачей/перемещением значения.
lpd>Ну все, фанатика move-семантики я переубедить не берусь.
Когда сказать нечего начинают ярлыки развешивать.
lpd>В каждом конкретном случае такую проблему можно решить без умных указателей — вариантов решений много, включая подсчет ссылок.
Во-первых, подсчет ссылок -- это уже умные указатели и есть.
Во-вторых, изначально речь шла про unique_ptr, который, в обычных случаях (т.е. со штатным deleter-ом), стоит столько же, сколько обычный голый указатель, и не требует ручного контроля за временем жизни. Но у вас же какие-то религиозные предубеждения против шаблонов и умных указателей. Потому остается закатывать Солнце вручную.
Простите, но с такими взглядами можно было программировать где-то до 1994-1995-х годов. С тех пор уже больше 20 лет прошло. Пора уже научиться пользоваться благами цивилизации.