typedef的作用
来源:互联网 发布:淘宝卖家登记表怎么看 编辑:程序博客网 时间:2024/05/19 09:42
typedef的作用:
1)用typedef简化指向多维数组的指针的定义(C++primer P124)
2)用typedef简化函数指针的定义(C++primer P237)
3) 用typedef简化复杂类型的定义,如pair类型和map的value_type(C++primer P307,P313)
下面转自http://book.douban.com/annotation/13487433/
对typedef用法的领悟:
以前一直以为typdef的用法不过是typedef A B就是把类型B作为类型A的一个新名字。但是碰到像typedef string *pstring或者是typedef int int_array[4]这样的定义就比较傻眼。
然后慢慢摸爬滚打明白了typedef的精髓。那就是typdef,定义什么就是什么。
比如定义一个string类型的指针变量,是string *str1;这个时候str1是变量名。
如果把这句话前面加上一个typdef,也就是typedef string *str2;这个时候str2就不是变量名,而是类型名,它的类型就是变量str1所具有的类型。也就是string *类型。
所以typedef string *pstring这句话的意思就豁然开朗了,那么我以后可以拿pstring去定义别的变量,不如pstring pstr;这就定义了一个指向string的指针对象pstr。
再比如typedef int int_array[4];如果去掉前面的typedef那么定义的是一个叫做int_array的含有4个元素的数组。前面加上typedef以后,int_array就变成了含有4个元素的数组类型的替代名。以后要有int_array ia;这句话我们就知道它等同于int ia[4];
再比如这一页的指向函数的指针:
bool (*pf)(const string&, const string&)
使用typdef以后,定义这一类型(即同样的形参以及同样的返回类型)的函数指针语句都将得到简化。方法如下:
typedef bool (*cmpFcn)(const string&, const string&);
用新得到的类型来定义两个新的函数指针pf1和pf2,它们所指向的函数都有两个const string&形参且返回bool类型值。以下是定义:
cmpFcn pf1;
cmpFcn pf2;
不过实际应用中这种小细节的东西用的应该不会很多。也算一点并不实用的领悟吧。
转载自http://blog.sina.com.cn/s/blog_790bb7190101bvcz.html
0 0
- typedef 的作用域
- typedef的作用
- typedef的作用
- typedef的作用
- typedef 的作用域
- typedef的作用
- typedef的作用
- typedef的作用
- typedef的作用与陷阱
- typedef作用
- typedef 的用法,typedef写在类里面的作用
- c++的类中typedef的作用
- C和C++中的typedef的作用
- typedef函数的作用与用途
- typedef和#define的作用域问题
- typedef 名字的作用你知道多少?
- typedef和define的作用域
- 浅析typedef和define的作用域
- OA系统文档
- 动态生成和销毁物体
- Iterator和for循环对比
- 分享一些实用的Android Studio插件
- 银行卡号 格式,可删除
- typedef的作用
- 线程里打开对话框,按取消时直接返回Failure #2的原因
- Linux下安装redis-2.8.3
- 【C#机房重构】“ System.Configuration.ConfigurationSettings.AppSettings”已过时
- php 生成器
- java 图片上传
- 兰州市公共资源交易中心国土资源网上交易系统_IE修复方法
- 搭建hadoop集群
- imp.load_source的用法