首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nullptr

Syntax

nullptr

?

(since C++11)

Explanation

The keyword nullptr denotes the pointer literal. It is a prvalue of type std::nullptr_t. There exist implicit conversions from nullptr to null pointer value of any pointer type and any pointer to member type. Similar conversions exist for any null pointer constant, which includes values of type std::nullptr_t as well as the macro NULL.

Example

Demonstrates how nullptr allows forwarding via a template function.

代码语言:javascript
复制
#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)
}

Output:

代码语言:javascript
复制
Function g called
Function g called
Function g called

Keywords

nullptr.

See also

NULL

implementation-defined null pointer constant (macro constant)

nullptr_t (C++11)

the type of the null pointer literal nullptr (typedef)

References

  • C++11 standard (ISO/IEC 14882:2011):
    • 4.10 Pointer conversions conv.ptr
代码语言:txt
复制
 ? cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com