Согласно многочисленным ответам здесь, long
и int
имеют размер 32 бита на распространенных платформах C и C ++ (Windows и Linux, 32 и 64 бит.) (Я знаю, что нет стандарта, но на практике это наблюдаемые размеры.)
Итак, мой вопрос, как это произошло? Почему у нас есть два типа, которые являются того же размера? Раньше я всегда предполагал, что long
большую часть времени будет 64-битным, а int
32. Я не говорю, что «должно быть» так или иначе, Мне просто интересно, как мы сюда попали.