◐ Shell
clean mode source ↗

ポインタリテラル nullptr - cppreference.com

提供: cppreference.com

構文

nullptr (C++11以上)

説明

キーワード nullptr はポインタリテラルを表します。 これは std::nullptr_t 型の prvalue です。 nullptr からあらゆるポインタ型およびあらゆるメンバポインタ型への暗黙の変換が存在します。 同様の変換があらゆるヌルポインタ定数 (std::nullptr_t 型の値およびマクロ NULL など) に対して存在します。

どのように nullptr がテンプレート関数を通した転送を可能とするかをデモンストレーションします。

#include <cstddef>
#include <iostream>

template<class F, class A>
void Fwd(F f, A a)
{
    f(a);
}

void g(int* i)
{
    std::cout << "Function g called\n";
}

int main()
{
    g(NULL);           // Fine
    g(0);              // Fine

    Fwd(g, nullptr);   // Fine
//  Fwd(g, NULL);  // ERROR: No function g(int)
}

出力:

Function g called
Function g called
Function g called

キーワード

nullptr

関連項目

参考文献

  • C++11 standard (ISO/IEC 14882:2011):
  • 4.10 Pointer conversions [conv.ptr]