標準では、これは型(2.14.7)nullptr
のポインター リテラルであると述べています。std::nullptr_t
そして 18.2p9nullptr_t
は
namespace std {
typedef decltype(nullptr) nullptr_t;
}
7.1.6.2では、p4decltype(nullptr)
は式の型でありnullptr
、これは定義によるものですstd::nullptr_t
(式nullptr
は prvalue であるため)。nullptr_t
それを結果の定義に代入すると、
typedef nullptr_t nullptr_t
一方、typedef 指定子は新しい型を導入するのではなく、別の既存の型の名前にすぎません。それで、正確には何nullptr_t
ですか?私はこれらの定義を理解することができません。