Если T
является скалярным типом, и N = CHAR_BIT * sizeof(T)
, является uintN_t
гарантированно существует? Если нет, верно ли это в большинстве случаев, но с несколькими исключительными типами случаев? ( long double
и указатели на функции-члены приходят на ум. )
Для справки:
intN_t
, uintN_t
scalar types
Типы uintX_t
являются необязательными, поэтому нет никакой гарантии, что в вашей реализации они вообще будут. Кроме этого, нет точного определения того, что скаляр значит для вас.
Многие процессоры и / или компиляторы реализуют long double
типы больше, чем любой целочисленный тип, независимо от имени, и есть процессоры с 32 байтовые указатели.
Так что нет.