自定义数据类型(typedef/using)
2014-03-26 17:11
267 查看
一.自定义数据类型 (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 更加通用。
相关文章推荐
- typedef自定义数据类型
- 自定义函数名数据类型typedef int (init_fnc_t) (void);
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)
- 自定义数据类型(typedef,enum,struct,union)
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)---(转载)
- typedef struct,自定义数据类型struct和类的区别
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)---(转载)
- 自定义数据类型 结构体 枚举 typedef
- 每日一课(16/75)联合类型和记录类型 还有数据类型的自定义typedef
- 自定义数据类型,关键字typedef
- C语言typedef自定义数据类型
- java通过poi读取excel中的日期类型数据或自定义类型日期
- set集合(如何自定义储存数据类型)
- XSD学习笔记-自定义数据类型
- 【1】ptr = malloc(0*sizeof(char))【2】关于typedef的用法总结【3】关于有符号数、无符号数和数据类型的总结
- c语言-自定义数据类型
- MapReduce编程实践之自定义数据类型
- 视频十四学习心得,跳转语句与自定义数据类型
- iOS开发之数据存取3-CoreData自定义数据类型
- 自定义可绑定数据的业务对象实体和强类型