我一直在使用实验std::optional
一段时间了,我想知道是否曾经考虑过像std::optional<T>::value_or_default
这样的方法。如果参与,这将为您提供值,如果没有,则为默认值T
。是的,写std::optional::value_or( T { } )
很容易,但有时如果T
有一堆字符,我认为它不像写value_or_default
那么清楚。
像n3672这样的论文并没有真正说明为什么不包括像std:optional::is_engaged
这样的方法。我理解为什么nullopt
在某些情况下有用并被包括在内但我认为std::optional::is_engaged
在简单的if表达式中更清晰。