Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

Переменная = empty

#cpp #инициализация #объявление


Можно ли в c++ новосозданной переменной присвоить значение empty?
    


Ответы

Ответ 1



В C++ 17 имеется класс std::optional - обертка вокруг других объектов, который позволяет определять, есть ли значение у переменной или нет. Однако многие компиляторы еще не поддерживают этот класс. Поэтому для фундаментальных типов нет такого значения, как empty. Вы можете переменные этих типов инициализировать нулем, как это делает компилятор для статических переменных. Тем не менее нельзя сказать, что такие значения являются значением empty.

Ответ 2



В дополнение к ответу выше, имеется еще boost::optional и boost::tribool. Простенькая реализация аналога optional пилится самостоятельно очень быстро.

Комментариев нет:

Отправить комментарий