2010-06-16 68 views
1

如果我有这样的:我应该使用typdef'd类型的变量吗?

typedef int MyType; 

是很好的做法,投操作的操作数,如果我做这样的事情:

int x = 5; 
int y = 6; 

MyType a = (MyType)(x + y); 

我知道,我不需要要做到这一点,但想知道是否更好的意图/文件/可读性问题。或者,我应该只是做:

MyType a = x + y; 

有可能是为什么x和y不声明为MyType的,但它们的总和可以作为一个参数传递给需要的MyType,例如功能的原因。

回答

1

我不会使用演员。这是没有必要的,看起来很杂乱,使得代码难以解析,并且掩盖了代码的意图。

如果您使用typedef一致(即,如果声明xy作为MyType对象也一样),你不应该有太多此类的问题。

0

演员阵容是不必要的,有点丑陋;如果我维护这些代码,那么当我第一次阅读这个文件时,我会通过一般原则读取它。所以不,它不会做任何坏事 - 它只是表明x + y的价值会发生什么 - 不过它会混淆行和声明,因为MyType已经提供了所需的所有文档。

总的来说,我觉得你应该尽量明确地投出一些东西,当你在代码中看到一个强制转换时,它应该是一个值得注意的事情,不仅仅是在执行期间变量的类型会被改变。

+0

我不确定你的意思是“值得注意”,而不是简单地将变量的类型改变。 – mesorismo 2010-06-16 02:47:15

相关问题