According to the standard (C++11, §3.9.1/2),
Plain
int
s have the natural size suggested by the architecture of the execution environment; the other signed integer types are provided to meet special needs.
So int
is the type you should use unless you have a good reason to use any other type, because int
is supposed to map to the type that the architecture is optimized to use most of the time.