Здравствуйте, maks1180, Вы писали:
M>Нужен тип данных который будет: uint64_t для x64 платформ и uint32_t для x32 платформ.
Непонятно, что такое 64-разрядная и 32-разрядная платформа.
В обычном x86-64 32-разрядный int слегка более эффективен, чем 64-разрядный.
Да даже указатели иногда имеет смысл оставит 32-битными
https://en.wikipedia.org/wiki/X32_ABI
Если брать такой int, как указатель, то это intptr_t и unitptr_t.
Если такой, чтобы размер массива поместился — size_t, ssize_t, ptrdiff_t.
Можно упомянуть сюда же atomic_signed_lock_free и atomic_unsigned_lock_free — тип, выгодный для атомарного счётчика.
Да, а если взять просто тип "родной" для целочисленных вычислений, то это, внезапно, просто int.
Ну а то, что он может быть 32 и 64 битным на 64 разрядных платформах, так это потому, что оба примерно одинаково "родные"