В соответствии со стандартом C++, размер указателя зависит от конкретной реализации компилятора и не связан напрямую с разрядностью используемой платформы. В рамках же конкретной реализации стандарта, размер указателей различных типов (указатели на объекты, указатели на функции и т.п.) также может быть различным.
Однако на большинстве современных ОС общего назначения (настольные UNIX совместимые системы, MS Windows) используются модели данных, в которых размер указателя соответствует разрядности адресной шины у архитектуры этих платформ. Ширина шины адреса определяет объём адресуемой памяти. Например, если ширина адресной шины составляет 32 бит, и размер слова памяти равен одному байту (минимальный адресуемый объём данных), то объём памяти, который можно адресовать, составляет 2^32 байт, что и определяет оптимальный размер указателя для такой платформы.
0