Qt是否有自己的boost::optional替代方案,或者我应该只使用boost::optional?
发布于 2015-11-16 13:11:51
Qt具有“variant”类型,但不是“optional”类型。我认为boost::optional
(或者,在较新的C++版本中,std::optional
)是一个合理的选择。
发布于 2015-11-16 13:35:56
看起来QVariant
已经可以做boost::optional
想要做的事情了。您必须:
bool QVariant::isNull() const
bool QVariant::isValid() const
Type QVariant::type()
static QVariant QVariant::fromValue(const T & value)
T QVariant::value()
因此,您可以包装任何类型,检查变量是否为空或有效,甚至获取要与if或switch语句一起使用的类型。
发布于 2015-11-16 13:11:23
在qt的QVariant容器之上实现了qt-maybe template,但它不在“标准”qt库中。
https://stackoverflow.com/questions/33736172
复制