簡體   English   中英

std :: nullptr_t類型的prvalue

[英]prvalue of type std::nullptr_t

第4.10 / 1節N3797說:

空指針常量是值為零的整數文字(2.14.2)或類型為std :: nullptr_t的prvalue。

我認為nullptrstd::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()
  • 調用lambda返回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" : nullptrfalse ? 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM