以下のコードを考えてもらいたい。果たして、値はtrueかfalseかどちらだろうか。
std::is_pointer<decltype(nullptr)>::value ;
これはfalseである。なぜならば、nullptrの型、decltype(nullptr)のtypedef名であるstd::nullptr_tは、ポインター型ではないからだ。もちろん、メンバーへのポインター型でもない。std::nullptr_tは、nullポインターに変換可能なprvalueの定数という扱いになっている。
No comments:
Post a Comment