__PTRDIFF_TYPE__ 的跨平台版本
Cross platform version of __PTRDIFF_TYPE__
有没有一种跨平台的方法来判断在预处理过程中ptrdiff_t
是否与long
或long long
相同?
我知道__PTRDIFF_TYPE__
应该给gcc/g++的类型,但是Windows似乎没有在VC/VC++中定义。是否有比以下更好的方法?
#ifndef __PTRDIFF_TYPE__
# if _WIN64
# define __PTRDIFF_TYPE__ long long
# else
# define __PTRDIFF_TYPE__ long
# endif
#endif
如果在预处理期间不可能,是否有编译时方法?我正在寻找非 C++11 解决方案,但如果您有非常好的现代解决方案,请随时分享!
有没有一种跨平台的方法来判断在预处理过程中ptrdiff_t
是否与long
或long long
相同?
我知道__PTRDIFF_TYPE__
应该给gcc/g++的类型,但是Windows似乎没有在VC/VC++中定义。是否有比以下更好的方法?
#ifndef __PTRDIFF_TYPE__
# if _WIN64
# define __PTRDIFF_TYPE__ long long
# else
# define __PTRDIFF_TYPE__ long
# endif
#endif
如果在预处理期间不可能,是否有编译时方法?我正在寻找非 C++11 解决方案,但如果您有非常好的现代解决方案,请随时分享!