When to use `short` over `int`?

dayuloli picture dayuloli · Jun 23, 2014 · Viewed 28.3k times · Source

There are many questions that asks for difference between the short and int integer types in C++, but practically, when do you choose short over int?

Answer

dayuloli picture dayuloli · Jun 23, 2014

(See Eric's answer for more detailed explanation)

Notes:

  • Generally, int is set to the 'natural size' - the integer form that the hardware handles most efficiently
  • When using short in an array or in arithmetic operations, the short integer is converted into int, and so this can introduce a hit on the speed in processing short integers
  • Using short can conserve memory if it is narrower than int, which can be important when using a large array
  • Your program will use more memory in a 32-bit int system compared to a 16-bit int system

Conclusion:

  • Use int unless you conserving memory is critical, or your program uses a lot of memory (e.g. many arrays). In that case, use short.