我在编写一段代码时遇到了这个:
typedef jobject jthread;
typedef jobject jthreadGroup;
对于相似的条目,不同的typedef有什么意义?
最佳答案
它允许您为同一类型使用两个不同的名称。您(至少)有两个不同的原因想要这样做:
- 在代码中,您希望读者看到我们正在处理的数据类型。毕竟,“线程”不同于“线程组”,即使表示它们的底层类型不同。
- 能够在不影响另一种类型的情况下更改其中一种类型的类型。如果在稍后阶段,我们决定“jthreadGroup”最好是一种新类型,我们可以在不影响“jthread”的情况下更改它。
假设我们有一个小游戏,我们以整数类型计算分数。我们还有玩家数量:
typedef int ScoreCount;
typedef int PlayerCount;
稍后,我们决定我们只需要一个小数字,short
来计算玩家数量:
typedef short PlayerCount;
与使用“jobject”的想法相同,只是一种不同的基本类型,这可能使其易于理解。
关于c - 相同信息的不同 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830629/