I m attempting to use the #define
directive to change all of "ulong" to "unsigned long".
Here is an example:
#define ulong unsigned long
ulong idCounter = 0;
可悲的是,我认为它最终用“未签署”而不是“长期签署”取代ul。 我尝试了“草坪(未签名)”,但那是徒劳的。
I m attempting to use the #define
directive to change all of "ulong" to "unsigned long".
Here is an example:
#define ulong unsigned long
ulong idCounter = 0;
可悲的是,我认为它最终用“未签署”而不是“长期签署”取代ul。 我尝试了“草坪(未签名)”,但那是徒劳的。
更好地利用一种类型。 您的宏观可能失败的原因是——在有些地方可能无法直截了当。 考虑:
double x = calc();
ulong v = ulong(x);
在这种情况下,你就得了。
unsigned long v = unsigned long(x);
这并不有效,因为所使用的投放形式与你名称的类型不相符(它必须包含一种简单的形式,就像一个词)。 1. 使用一种类型:
typedef unsigned long ulong;
为什么不只使用哪类?
typedef unsigned long ulong;
你的宏观工作 OK:
cpp ulong.c
专 员
# 1 "ulong.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "ulong.c"
unsigned long idCounter = 0;
我最初假定,你已经有一个称为“<代码>ulong的类型,并且试图推翻与预处理器一样的那种类型,但其他人却对它有不同的看法。 如果你真的想要<代码>ulong,那么你就应该像他们所说的那样使用一种类型。