Comments 7
Далее, суммы типов, кодирующие наличие или отсутствие значения, реализуются в C++ при помощи различных трюков с «невозможными» значениями, такими как пустые строки, отрицательные числа, нулевые указатели и т. д.— Скоро это изменится, см. std::experimental::optional. См также std::experimental::any и
В union нельзя поместить даже std::string, потому что у этого класса есть конструктор копирования.— можно. Надо только будет вручную вызвать placement new перед использованием.
any совсем не то. Сумме в С++ соответствует boost::variant (аналога в std пока не предвидится).
Предвидится — The Variant Saga: A happy ending? (там о том, что на последнем собрании комитета в октябре таки договорились о Варианте, который бы устраивал почти всех).
(собственно, это должно было быть после союза «и» в моём комментарии, но потерялось)
(собственно, это должно было быть после союза «и» в моём комментарии, но потерялось)
UFO just landed and posted this here
Со-произведения звучит лучше чем копро-изведения
Sign up to leave a comment.
Простые алгебраические типы данных