在哪里检查是否定义了long long类型?我想做这样的事情:
#ifdef LONGLONG
#define long_long long long
#else
#define long_long long
#endif
Run Code Online (Sandbox Code Playgroud)
LLONG_MAX给出a可表示的最大值long long; 如果您的实现不支持long long,则不应定义LLONG_MAX.
#include <limits.h>
#ifdef LLONG_MAX
#define long_long long long
#else
#define long_long long
#endif
Run Code Online (Sandbox Code Playgroud)
这不是一个完美的解决方案. long long在C++ 03中不是标准的,并且long long已经超过C99,因此编译器可以(并且可能)支持long long但不能定义LLONG_MAX.
如果您想要一个具有特定大小的整数类型,您应该使用,<stdint.h>如果您的实现支持它.如果您的实现不支持它,Boost就会实现它.
| 归档时间: |
|
| 查看次数: |
4018 次 |
| 最近记录: |