Насколько я понимаю, определение intptr_t зависит от архитектуры - он гарантированно обладает способностью представлять указатель, который может получить доступ ко всему единообразному адресному пространству процесса.
Nginx (популярный веб-сервер с открытым исходным кодом) определяет тип, который используется как флаг (логический), и это typedef для intptr_t
. Теперь, используя в качестве примера архитектуру x86-64, которая имеет доступ к множеству инструкций, охватывающих операнды всех размеров, зачем определять флаг как intptr_t? Несомненно, традиция использования 32-битного типа bool также подойдет вам?
Я просмотрел 32-битную версию Vs. Я сам спорил с 8-битными логическими значениями, когда был новым разработчиком, и пришел к выводу, что 32-битные логические значения лучше работают в общем случае из-за сложности конструкции процессора. Зачем тогда вообще нужно переходить на 64-битные bools?