Это зависит от внедрения (и это включает процессор, ABI, компилятор, стандартные библиотеки). У вас нет гарантии, которая size_t
совпадает с uintptr_t
; но это могло произойти (на 32-битном Linux x86 или РУКЕ, оба - 32-битные целые без знака).
И намерение size_t
состоит в том, чтобы быть размером (особенно ассигнованных кусков памяти), в то время как намерение uintptr_t
состоит в том, чтобы быть целым без знака того же самого диаметра долота как указатели.