自定义数据类型(typedef/using)

 

一.自定义数据类型 (typedef)

我们已经看到过一种用户(程序员)定义的数据类型:结构。除此之外,还有一些其它类型的用户自定义数据类型:

C++ 允许我们在现有数据类型的基础上定义我们自己的数据类型。我们将用关键字 typedef 来实现这种定义,它的形式是:

 

    typedef existing_type new_type_name;

 

这里 existing_type 是 C++ 基本数据类型或其它已经被定义了的数据类型,new_type_name 是我们将要定义的新数据类型的名称。例如:

 

    typedef char C;

    typedef unsighed int WORD;

    typedef char* pChar;

    typedef char filed[50];

 

这里定义了四种类型别名(aliases)或者说新的数据类型: C, WORD, pChar 和 field ,它们分别代替 char, unsigned int, char* 和

char[50],并非创造了新的特定类型,只是而已

这样,我们就可以安全的使用以下代码:

 

    C mychar, anotherchar, *ptc1;

    WORD myword;

    pChar ptc2;

    filed name;

 

*如果在一个程序中我们反复使用一种数据类型,而在以后的版本中我们有可能改变该数据类型的情况下typedef 就很有用了。或者如果一种数据类型

的名称太长,你想用一个比较短的名字来代替,也可以是用 typedef

 

二.自定义数据类型(using)

 

另一种较新的定义类型别名的方法是,使用关键字 using,如

 

    using new_type_name = existing_type;

 

这样,上面的 typedef 例子也可以定义如下:

 

    using C = char;

    using WORD = unsighed int;

    using pChar = char*;

    using filed = char [50];

 

用 typedef 和 using 定义类型别名在语义上是等价的。唯一的区别是,typedef 在模板(templates) 域中有一定的限制,而 using 确没有这种限制。

因此,即使 typedef 有很长的使用历史,在代码中也更加常见,但 using 更加通用。



转载于:https://www.cnblogs.com/guozqzzu/p/3626034.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值