typedef机制用来为内置的或用户定义的数据类型引入助记符号。

typedef定义以关键字typedef开始,后面是数据类型和标识符。它没有引入一种新的类型,而只是为现有类型引入了一个助记符号。

typedef名字可以被用作程序文档的辅助说明,它也能降低声明的复杂度。 以后会有详细介绍。

例如:

typedef double wages;
typedef vector<int> vec_int;
typedef vec_int test_scores;
typedef bool in_attendance;
typedef int *Pint;

这些定义的typedef名字可以做如下使用:

//double hourly, weekly;
wages hourly, weekly;//vector<int> vec1(10);
vec_int vec1(10);//vector<int> test0(class_size);
const int class_size = 34;
test_scores test0(class_size);//vector<bool> attendance;
vector<in_attendance> attendance(class_size);//int *table[10];
Pint table[10];

下面是一个几乎所有人刚开始都会答错的问题,错误在于将typedef当做了宏扩展。已知下面的typedef:

typedef char *cstring;
extern const cstring cstr;

上面的cstr是什么类型呢?

第一个回答差不多都是:

               const char *cstr  //即指向const字符的指针,但是这是错误的

正确的是指向字符的const指针。因为const修饰cstr的类型,而cstr是一个指针:

char *const cstr; 

------------------------------------------------------------------------------------------------------2010/2/21 <C++ Primer> Page103

转载于:https://www.cnblogs.com/JaneTang/archive/2010/02/21/1670796.html

C++_typedef名字相关推荐

  1. 适合计算机应用的班群名称,班级同学群名字大全

    很多人现在都是一个班级建一个群,以便大家沟通交流,有什么事大家群里一说很方便,没事还可以吹吹牛B策策谈,那么同学班级群用什么样的名字好呢,在此起名网为大家收集整理了班级同学群名字大全.来看看吧. 最新 ...

  2. 2020卫星参数表大全_王者荣耀比较秀的名字 2020年比较骚气比较浪的王者荣耀名字大全...

    游戏中该起什么样的名字,才能让其他玩家很快的记住,从而达到认识更多玩家,认识到更多的朋友,达到交友目的. 2020年比较骚气比较浪的王者荣耀男性玩家名字大全如下: 骚里骚气 闷里闷气 孤独患者 洁癖患 ...

  3. C++:名字空间的使用

    首先明确一下要使用名字空间的目的是为了防止名字冲突. 一.访问名字空间中元素的3种方式: 1.可以自己去定义一些名字空间: namespace NameSpace1 {void fun(){}//该f ...

  4. spring 数组中随机取几个_别给孩子取这三种名字!截止年末,名字中的这几个字已经烂大街了...

    随着时代的进步,科技的发展,人们的生活水平不断,提高,许多的家庭都在拥有了不错的生活条件之后选择培养自己的下一代,随着宝宝的到来让整个家庭变得更加幸福,然而,许多家长却在给宝宝起名字这件事上放了愁,对 ...

  5. 2018-3-7 Hadoop简介1(名字的由来,以及基本的结构)

    问题一:什么是云计算? 实际上是提供的一种服务,这个服务的特点是?                  主要是按需分配 云计算_百度百科 https://baike.baidu.com/item/%E4 ...

  6. YOLOv5是真的吗?并不比YOLOv4强,不配这个名字

    选自Medium 作者:Ritesh Kanjee 机器之心编译 参与:Panda.蛋酱 授权转载自公众号机器之心 YOLOv4 发布不到 2 个月,一个名叫 YOLOv5 的目标检测框架横空出世,但 ...

  7. 太鸡冻了!我用 Python 偷偷查到暗恋女生的名字

    来源:AirPython 作者:星安果 阅读文本大概需要 6 分钟. 1 目 标 场 景 不知道你有没有经历过这样一个场景,好不容易拿到一个妹子的手机号,但是又不好意思去搭讪,问一下对方的名字. 有过 ...

  8. python读取一个文件夹/子文件夹下的所有文件名字

    python读取一个文件夹/子文件夹下的所有文件名字 示例代码: import osfile_path = './images/' all_file_name = os.listdir(file_pa ...

  9. Python递归获取文件夹下面所有文件名字:

    Python递归获取文件夹下面所有文件名字: def getAllFiles(targetDir):files = []listFiles = os.listdir(targetDir)for i i ...

最新文章

  1. 6条可以成为更好程序员的建议
  2. 教程:从FLASH过渡到SILVERLIGHT.(实例+源码)
  3. HRegionServer异常下线问题
  4. 56. Netty源代码分析-服务器初始化 NioEventLoopGroup实例化
  5. .net一个函数要用另一个函数的值_【195期】MySQL中的条件判断函数 CASE WHEN、IF、IFNULL你会用吗?...
  6. git21天打卡day19-新建远程仓库
  7. BZOJ3457 : Ring
  8. StorageManager获取U盘挂载状态
  9. 计算机常出现的问题及解决办法,电脑发生故障的常见现象和解决方法
  10. 什么情况下选用mysql_在MySQL中,‘%’可以用在什么情况下?
  11. Beyond Compare 报错 This license key has been revoked: 8454-8413
  12. 网易mumu模拟器去广告纯净版 v1.26.1.1
  13. Git Github学习笔记
  14. 中新时评:中国经济亮红灯 宏观调控“下猛药
  15. 用python绘制熊猫图案_python – 熊猫:如何在彼此之上绘制年度数据
  16. 最新的iOS14操作系统全面消息重装上阵
  17. 墨客开发者行动(上海站)
  18. 制作PX30 Android 8.1开机动画
  19. BCM ESW芯片和Marvell CAT芯片的比较
  20. 正确的WordPress安装方式 – 完整教程 (2021)

热门文章

  1. Intellij IDEA神器常用技巧七-超好用插件推荐
  2. MongoDB配置文件
  3. 使用Yum历史查找已安装或已删除的软件包信息
  4. 关于5G,看这一篇文章就够了
  5. LoadRunner SQL 2008
  6. No Database Selected
  7. PHP实现上一篇、下一篇
  8. 使用Heroku部署Rails应用
  9. j2recover----最强大的jfs2文件恢复工具
  10. 我是一名Cisco爱好 者