В чем разница между int64 и int64_t в С++?

Я новичок в С++ и кодировании вообще. поэтому этот вопрос может быть noobish. в чем разница в использовании типа int64 или int64_t. Я увидел, что один из разработчиков программного обеспечения изменил свой источник на github и все int64 на int64_t.

Ответ 1

int64_t - стандартный тип С++ для знакового целого числа ровно 64 бит. int64 не является стандартным типом.

Первый стандарт С++ не имел типов фиксированной ширины. До того, как в стандартный С++ был добавлен int64_t, разные компиляторы реализовали 64-разрядный тип, но использовали для этого свои собственные имена (например, long long, __int64 и т.д.)

Вероятная серия событий заключается в том, что первоначально этот проект был бы typedef int64 для 64-битного типа для каждого поддерживаемого компилятора. Но как только компиляторы начали лучше поддерживать стандарт С++, или как только человек, который написал код, узнал о int64_t, код был переключен для использования стандартного имени.