答案 0 :(得分:3)
可以出现类型代码的一个上下文在C中,带有union
类型:
typedef enum Type { T_INT, T_FLOAT, T_DOUBLE, T_LONG } Type;
typedef struct Datum
{
Type type;
union
{
int i;
float f;
long l;
double d;
} u;
} Datum;
这导致代码如下:
Datum v;
switch (v.type)
{
case T_INT:
int_processing(v.u.i);
break;
case T_FLOAT:
float_processing(v.u.f);
break;
case T_DOUBLE:
double_processing(v.u.d);
break;
}
现在,是否故意忽略了交换机中的T_LONG?最近是否添加了此交换机没有得到必要的更新?
当你得到很多这样的代码,并且你需要添加T_UNSIGNED时,你必须找到很多地方来纠正。使用C,您没有像“创建表示类型的类”这样简单的解决方案。它可以完成,但与使用更多面向对象的语言相比,需要花费更多的精力。
但是,术语“类型代码”指的是示例中的Type
类型。
答案 1 :(得分:0)
类型代码是指出于某种目的而想要拥有自己的有限类型,并且作为解决方法,创建一组数字或字符串常量,它们代表“类型”的所有可能值。