不同的typedef用于相同的信息

时间:2013-04-05 09:41:45

标签: c java-native-interface

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

typedef jobject jthread;
typedef jobject jthreadGroup;

不同typedef对类似条目的意义是什么?

2 个答案:

答案 0 :(得分:3)

它允许您为同一类型使用两个不同的名称。至少有两个不同的理由你想要这个:

  1. 在代码中,您希望读者看到我们正在处理的数据类型。毕竟,“线程”与“线程组”不同,即使表示它们的基础类型不同。
  2. 能够更改其中一种类型的类型而不影响另一种类型。如果在稍后阶段,我们决定“jthreadGroup”更好地成为新类型,我们可以在不影响“jthread”的情况下改变它。
  3. 想象一下,我们有一个小游戏,我们用整数类型计算得分。我们也有一些球员:

    typedef int ScoreCount;
    typedef int PlayerCount;
    

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

    typedef short PlayerCount;
    

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

答案 1 :(得分:0)

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