std::nullptr_t
Aus cppreference.com
<metanoindex/>
<tbody> </tbody>| definiert in Header <cstddef>
|
||
typedef decltype(nullptr) nullptr_t; |
(seit C++11) | |
std::nullptr_t ist die Art der Null-Zeiger Literal
nullptr . Original:
std::nullptr_t is the type of the null pointer literal,
nullptr. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Beispiel
Wenn zwei oder mehr Überlastungen verschiedenen Zeigertypen zu akzeptieren, ist eine Überlast für std::nullptr_t notwendig, um eine Null-Zeiger-Argument akzeptieren .
Original:
If two or more overloads accept different pointer types, an overload for std::nullptr_t is necessary to accept a null pointer argument.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <cstddef>
#include <iostream>
void f(int* pi)
{
std::cout << "Pointer to integer overload\n";
}
void f(double* pd)
{
std::cout << "Pointer to double overload\n";
}
void f(std::nullptr_t nullp)
{
std::cout << "null pointer overload\n";
}
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
