我正在做(可能是错误的)假设它是依赖于实现和/或系统的.是否有类似INT_MAX或CHAR_BIT的东西会告诉我内存中指针的大小?
Sin*_*all 31
指针指向内存中的一个位置,因此在32位系统上为32位,在64位系统中为64位.
指针大小也与它指向的类型无关,可以通过测量 sizeof(anyType*)
UPD
我回答这个问题的方式是问问题的方式(建议一个简单的答案).是的,我同意在像虚拟方法表指针的情况下,指针的大小会有所不同,根据这篇文章,它会在不同的平台上,甚至在同一平台内的不同编译器上有所不同.在我的例子中,例如(x64 ubuntu,GCC 4.6.3)它等于16个字节.