std::nullptr_t是c++空指针类型的文字,nullptr.在c++11中 引入的。

外文名

nullptr_t

简介

std::nullptr_t   是c++空指针类型的文字,nullptr.在c++11中 引入的

举例

如果两个或两个以上的重载接受不同的指针类型,过载std::nullptr_t是需要接受一个空指针参数.

#include

#include

void f(int* pi)

{

std::cout<<"Pointer to integer overload ";

}

void f(double* pd)

{

std::cout<<"Pointer to double overload ";

}

void f(std::nullptr_tnullp)

{

std::cout<<"null pointer overload ";

}

int main(){

int* pi;

double* pd;

f(pi);

f(pd);

f(nullptr);// would be ambiguous without void f(nullptr_t)// f(NULL); // ambiguous overload: all three functions are candidates

}

Output:

Pointer to integer overload

Pointer to double overload

null pointer overload