enum class pointer_safety { relaxed, preferred, strict };
value | description |
---|---|
relaxed | The validity of a pointer value does not depend on whether it is a safely-derived pointer value. |
preferred | The validity of a pointer value does not depend on whether it is a safely-derived pointer value. A leak detector may be running so that the program can avoid spurious leak reports. |
strict | A pointer value that is not a safely-derived pointer value is an invalid pointer value (unless the referenced complete object is of dynamic storage duration and has previously been declared reachable). A garbage collector may be running so that non-traceable object are automatically deleted. |
reinterpret_cast
), including to and from other pointer types or integral types (at least as large as intptr_t), or from sequences of characters with the same size and alignment.