Now that C++0x is almost here, I've been experimenting with it, and in particular using nullptr. I haven't been able to figure out what standard header files one is supposed to include if one needs to use it.
Any help is appreciated.
Now that C++0x is almost here, I've been experimenting with it, and in particular using nullptr. I haven't been able to figure out what standard header files one is supposed to include if one needs to use it.
Any help is appreciated.
No headers should be required. It is a built-in keyword (§[lex.nullptr]).
2.14.7 Pointer literals [lex.nullptr]
pointer-literal:
nullptrThe pointer literal is the keyword
nullptr. It is a prvalue of typestd::nullptr_t. [ Note:std::nullptr_tis a distinct type that is neither a pointer type nor a pointer to member type; rather, a prvalue of this type is a null pointer constant and can be converted to a null pointer value or null member pointer value. See 4.10 and 4.11. —endnote]
Its type, std::nullptr_t, however, is "defined" in the header <cstddef> (§[support.types]/9).
nullptr_tis defined as follows:namespace std { typedef decltype(nullptr) nullptr_t; }The type for which
nullptr_tis a synonym has the characteristics described in 3.9.1 and 4.10. [Note: Althoughnullptr’s address cannot be taken, the address of anothernullptr_tobject that is an lvalue can be taken. —endnote]