правильно понимаю, что int*_t и uint*_t могут быть алиасами на стандартные типы, а могут быть отдельными типами, и во втором случае это extended type?
Ну и на платформе может быть какой-нибудь __int128_t и тогда это тоже extended?
http://eel.is/c++draft/basic.fundamental#1
В этом знает мало практического смысла, практически ноль
Ну как минимум интересно, может ли int*_t быть не алиасом на стандартный тип, это может быть важно в перегрузках
Тебе какая разница, алиас он или нет?
Перегрузка/специализация по типу например
С учётом того, что компилятор может предоставлять любые типы сверх стандартных, это вообще не имеет никакого значения. Ну кроме теории.
А там в стандарте это должно оговариваться, для этих вот типов с _t, должны они быть отдельными типами. И думаю, что там написано, что они МОГУТ бытьt typedef и поэтому перегрузка для них не обязана работать.
Потому и спрашиваю, потому что не очень понятно http://eel.is/c++draft/cstdint.syn#1 Вот тут в сноске написано, что типы те же, что в ISO C 7.20. А там написано, что "Some of these types may denote implementation-defined extended integer types". Получается тут можно считать, что C++ наследует эту часть сишного стандарта?
Это целочисленный тип, не являющийся одним из standard integer type. Он другого размера, выравнивания или еще чего-нибудь
Обсуждают сегодня