intptr_t
用作通用存储(保存指针和整数值)而不是是一个好主意void*
吗?(如此处所示:http ://www.crystalspace3d.org/docs/online/manual/Api1_005f0-64_002dBit-Portability-Changes.html )
对于我已经阅读的内容:
int
->void*
->int
往返不保证保持原值;我猜int
->intptr_t
->int
会做void*
两者上的指针算术都intptr_t
需要强制转换,所以这里没有任何优势void*
意味着存储指针时更少的显式转换,intptr_t
意味着存储整数值时更少的强制转换intptr_t
需要 C99
我还应该考虑什么?