2015-11-16 2 views

ответ

2

Существует qt-maybe template, реализованный поверх контейнера QVariant Qt, но он не находится в стандартном qt lib.

2

Qt имеет тип «вариант», но не «необязательный» тип. Я думаю, что boost::optional - разумный выбор.

2

Похоже, QVariant уже может делать то, что должен был сделать boost::optional. У вас есть:

bool QVariant::isNull() const 
bool QVariant::isValid() const 
Type QVariant::type() 
static QVariant QVariant::fromValue(const T & value) 
T QVariant::value() 

Таким образом, вы можете обернуть любой тип, проверьте, если вариант является недействительным или действительным или даже получить тип для использования с, если переключатель или заявление.

Смежные вопросы