std::ptrdiff_t is used for pointer arithmetic and array indexing, if negative values are possible. Programs that use other types, such as int, may fail on, e.g. 64-bit systems when the index exceeds INT_MAX or if it relies on 32-bit modular arithmetic.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.

If an array is so large (greater than PTRDIFF_MAX elements, but less than SIZE_MAX bytes), that the difference between two pointers may not be representable as std::ptrdiff_t, the result of subtracting two such pointers is undefined.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.

For char arrays shorter than PTRDIFF_MAX, std::ptrdiff_t acts as the signed counterpart of std::size_t: it can store the size of the array of any type and is, on most platforms, synonymous with std::intptr_t).

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.