[英]prvalue of type std::nullptr_t
第4.10 / 1節N3797說:
空指針常量是值為零的整數文字(2.14.2)或類型為std :: nullptr_t的prvalue。
我認為nullptr
是std::nullptr_t
類型的prvalue
。 你會得到更多關於這種prvalue
例子嗎?
與任何類型一樣,有多種方法可以獲得類型為std::nullptr_t
的prvalue:
static_cast<std::nullptr_t>(0)
std::nullptr_t{}
std::nullptr_t
的函數: std::nullptr_t f() { return {}; } f()
std::nullptr_t f() { return {}; } f()
std::nullptr_t
: []() -> std::nullptr_t { return {}; }()
[]() -> std::nullptr_t { return {}; }()
std::nullptr_t
prvalue :( ("hello", nullptr)
std::nullptr_t
而另一方具有不同的值類別或者是throw-expression: false ? throw "oops" : nullptr
false ? throw "oops" : nullptr
, false ? std::move(nullptr) : nullptr
false ? std::move(nullptr) : nullptr
因為std::nullptr_t
不參與大多數運營商,所以這是一個相當std::nullptr_t
清單; 大多數其他類型為std::nullptr_t
將產生glvalues。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.