作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
How can this code be constexpr? (std::chrono)
(2 个回答)
3年前关闭。
如std::optional
可以在运行时更改其状态(即附加一个对象),has_value()
怎么可能?方法和 bool operator
成为 constexpr
,因此在编译时进行评估?
最佳答案
constexpr 并不意味着它总是在编译时进行评估;这意味着如果您给出一个常量值(在编译时已知),那么结果也将是 const 。
构造函数是 constexpr
template < class U = value_type >
constexpr optional( U&& value );
std::optional<int> opt(3); // <- optional is valid
关于c++ - std::optional has_value() 怎么可能是 constexpr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52896012/
这个问题在这里已经有了答案: How can this code be constexpr? (std::chrono) (2 个回答) 3年前关闭。 如std::optional可以在运行时更改其状
std::optional 可以使用类似于普通指针的语法来访问其值,例如 . std::optional some_str; if (some_str) (*some_str).c_str()
我完全理解,由于性能原因,std::optional 中的operator* 不会对包含值的实际存在进行任何检查。然而,在 Debug模式下性能考虑应该无关紧要,并且在 Debug模式下应该做出某种断
我是一名优秀的程序员,十分优秀!