typedef和typename关键字

类别:编程语言 点击:0 评论:0 推荐:

1、类型说明typedef

  类型说明的格式为:
     typedef  类型 定义名;
    类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。
    例如: 用下面语句定义整型数的新名字:
     typedef int SIGNED_INT;
    使用说明后, SIGNED_INT就成为int的同义词了, 此时可以用SIGNED_INT 定
义整型变量。
    例如:  SIGNED_INT i, j;(与int i, j等效)。
    但 long SIGNED_INT i, j; 是非法的。
    typedef同样可用来说明结构、联合以及枚举和类。
    说明一个结构的格式为:
      typedef struct{
          数据类型  成员名;
          数据类型  成员名;
          ...
        } 结构名;
    此时可直接用结构名定义结构变量了。例如:
     typedef struct{
          char name[8];
          int class;
          char subclass[6];
          float math, phys, chem, engl, biol;
      } student;
      student Liuqi;
    则Liuqi被定义为结构数组和结构指针。 
2、类型解释Typename

Typename关键字告诉了编译器把一个特殊的名字解释成一个类型,在下列情况下必须对一个name使用typename关键字:

1.  一个唯一的name(可以作为类型理解),它嵌套在另一个类型中的。

2.  依赖于一个模板参数,就是说:模板参数在某种程度上包含这个name。当模板参数使编译器在指认一个类型时产生了误解。

 

本文地址:http://com.8s8s.com/it/it29083.htm