Yes. unsigned, signed, short, long, long long all are simple type specifiers for XXX int.
See 7.1 Specifiers [dcl.spec] in the standard:
3 [ Note: Since signed, unsigned, long, and short by default imply int, a type-name appearing after one of those specifiers is treated as the name being (re)declared. [ Example:
void h(unsigned Pc); // void h(unsigned int)
void k(unsigned int Pc); // void k(unsigned int)
—end example ] —end note ]
and 7.1.6.2 Simple type specifiers [dcl.type.simple]
Table 10 — simple-type-specifiers and the types they specify Specifier(s) | Type ------------------------+--------------------------------- type-name | the type named simple-template-id | the type as defined in 14.2 char | “char” unsigned char | “unsigned char” signed char | “signed char” char16_t | “char16_t” char32_t | “char32_t” bool | “bool” unsigned | “unsigned int” unsigned int | “unsigned int” signed | “int” signed int | “int” int | “int” unsigned short int | “unsigned short int” unsigned short | “unsigned short int” unsigned long int | “unsigned long int” unsigned long | “unsigned long int” unsigned long long int | “unsigned long long int” unsigned long long | “unsigned long long int” signed long int | “long int”