Search code examples
c++intshort

When to use `short` over `int`?


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?


Solution

  • (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.