nullptr, the pointer literal (since C++11)
Contents |
[edit] Syntax
nullptr
|
(since C++11) | ||||||||
[edit] 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.
[edit] Keywords
[edit] Example
Demonstrates that nullptr retains the meaning of null pointer constant even if it is no longer a literal.
#include <cstddef> #include <iostream> template<class T> constexpr T clone(const T& t) { return t; } void g(int*) { std::cout << "Function g called\n"; } int main() { g(nullptr); // Fine g(NULL); // Fine g(0); // Fine g(clone(nullptr)); // Fine // g(clone(NULL)); // ERROR: non-literal zero cannot be a null pointer constant // g(clone(0)); // ERROR: non-literal zero cannot be a null pointer constant }
Output:
Function g called Function g called Function g called Function g called
[edit] References
- C++23 standard (ISO/IEC 14882:2023):
- 7.3.12 Pointer conversions [conv.ptr]
- C++20 standard (ISO/IEC 14882:2020):
- 7.3.12 Pointer conversions [conv.ptr]
- C++17 standard (ISO/IEC 14882:2017):
- 7.11 Pointer conversions [conv.ptr]
- C++14 standard (ISO/IEC 14882:2014):
- 4.10 Pointer conversions [conv.ptr]
- C++11 standard (ISO/IEC 14882:2011):
- 4.10 Pointer conversions [conv.ptr]
[edit] See also
| implementation-defined null pointer constant (macro constant) | |
| (C++11) |
the type of the null pointer literal nullptr (typedef) |
| C documentation for nullptr
| |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
