首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::nullptr_t类型的prvalue

std::nullptr_t类型的prvalue
EN

Stack Overflow用户
提问于 2014-07-31 13:39:34
回答 1查看 108关注 0票数 1

第4.10/1节N3797说:

null指针常量是一个整数文本(2.14.2),其值为零或std::nullptr_t类型的prvalue。

我认为nullptrstd::nullptr_t类型的prvalue。你能得到更多这样的prvalue的例子吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-31 13:44:27

与任何类型一样,有多种方法可以获得std::nullptr_t类型的prvalue

  • 从适当的表达式中强制转换:static_cast<std::nullptr_t>(0)
  • 临时构造函数调用:std::nullptr_t{}
  • 调用返回std::nullptr_tstd::nullptr_t f() { return {}; } f()的函数
  • 调用一个返回std::nullptr_t[]() -> std::nullptr_t { return {}; }()的lambda
  • 一个逗号表达式,右边是一个std::nullptr_t prvalue:("hello", nullptr)
  • 一个条件表达式,其中一方具有std::nullptr_t类型,而另一侧属于不同的值类别,或者是抛出表达式:false ? throw "oops" : nullptrfalse ? std::move(nullptr) : nullptr

因为std::nullptr_t不参与大多数操作符,所以这是一个相当累人的列表;大多数具有std::nullptr_t类型的其他表达式都会产生glvalue。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25060360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档