0

我正在编写一段代码,我遇到了这个:

typedef jobject jthread;
typedef jobject jthreadGroup;

对于类似的条目,不同的 typedef 有什么意义?

4

2 回答 2

3

它允许您为同一类型使用两个不同的名称。您想要这个有(至少)两个不同的原因:

  1. 在代码中,您希望读者看到我们正在处理的数据类型。毕竟,“线程”不同于“线程组”,即使表示它们的底层类型不同。
  2. 能够更改其中一种类型的类型而不影响另一种类型。如果在稍后阶段,我们认为“jthreadGroup”最好是一个新类型,我们可以在不影响“jthread”的情况下改变它。

想象一下,我们有一个小游戏,我们以整数类型计算分数。我们还计算了玩家数量:

typedef int ScoreCount;
typedef int PlayerCount;

后来,我们决定只需要一个小数字short来计算玩家:

typedef short PlayerCount;

与使用“jobject”的想法相同,只是不同的基本类型,这可能使其易于理解。

于 2013-04-05T09:50:59.967 回答
0

可能是为了实现代码清晰,他们用不同的名称定义了相同的类型在这里您可以同时使用 jthread 和 jthreadGroup 而不是 jobject 类型

于 2013-04-05T09:48:33.537 回答