ポインタリテラル nullptr
提供: cppreference.com
構文
nullptr
|
(C++11以上) | ||||||||
説明
キーワード nullptr はポインタリテラルを表します。 これは std::nullptr_t 型の prvalue です。 nullptr からあらゆるポインタ型およびあらゆるメンバポインタ型への暗黙の変換が存在します。 同様の変換があらゆるヌルポインタ定数 (std::nullptr_t 型の値およびマクロ NULL など) に対して存在します。
例
どのように nullptr がテンプレート関数を通した転送を可能とするかをデモンストレーションします。
Run this code
#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
キーワード
関連項目
| 処理系定義のヌルポインタ定数 (マクロ定数) | |
(C++11) |
ヌルポインタリテラル nullptr の型 (typedef) |
参考文献
- C++11 standard (ISO/IEC 14882:2011):
- 4.10 Pointer conversions [conv.ptr]