Из ответов, полученных из этого вопроса, похоже, что С++ унаследовал это требование для преобразования short в int при выполнении арифметических операций из C. Могу ли я выбрать ваши мозги как , почему это было введено в C в первую очередь? Почему не просто выполнять эти операции как short?
Например (взято из предложения dyp в комментариях):
short s = 1, t = 2 ;
auto x = s + t ;
x будет иметь тип int.