最終更新日時:
が更新

履歴 編集

typedef
<cstddef>

std::nullptr_t(C++11)

namespace std {
  typedef decltype(nullptr) nullptr_t;
}

概要

nullptrの型。

#include <iostream>
#include <type_traits>

int main()
{
  std::cout << "sizeof(nullptr_t): " << sizeof(std::nullptr_t) << std::endl; // equals to sizeof(void*)

  std::cout << "is_object<nullptr_t>: " << std::is_object<std::nullptr_t>::value << std::endl;
  std::cout << "is_scalar<nullptr_t>: " << std::is_scalar<std::nullptr_t>::value << std::endl; // 0 on VS 2010~2012
  std::cout << "is_union<nullptr_t>: " << std::is_union<std::nullptr_t>::value << std::endl;
  std::cout << "is_array<nullptr_t>: " << std::is_array<std::nullptr_t>::value << std::endl;
  std::cout << "is_class<nullptr_t>: " << std::is_class<std::nullptr_t>::value << std::endl;
}

出力

sizeof(nullptr_t): 4
is_object<nullptr_t>: 1
is_scalar<nullptr_t>: 1
is_union<nullptr_t>: 0
is_array<nullptr_t>: 0
is_class<nullptr_t>: 0

バージョン

言語

  • C++11

処理系

備考

Visual C++ 2010, 2012ではis_scalar<nullptr_t>false_type(からの派生クラス)となっているバグがある。