Если C ++ позволяет bool
использовать любой бит, Что мешает C ++ оптимизировать std::optional
для использования 1 байта и использовать два бита для представления has_value
и value()
? Конечно, мы бы использовали маску, но в современных процессорах это не повредит перф.