当前位置: 首页 > wzjs >正文

餐饮招商加盟网站建设费用沧州南皮网站建设公司

餐饮招商加盟网站建设费用,沧州南皮网站建设公司,网站诊断工具,科技公司企业网站建设1. 类型别名的定义方法 1.1 传统的 typedef 使用 typedef 可以为某个类型起一个新名字,使其成为原类型的同义词。举例来说: typedef double wages; // wages 是 double 的别名 typedef wages base, *p; // base 是 double 的别名&#xff0c…

1. 类型别名的定义方法

1.1 传统的 typedef

使用 typedef 可以为某个类型起一个新名字,使其成为原类型的同义词。举例来说:

typedef double wages;      // wages 是 double 的别名
typedef wages base, *p;     // base 是 double 的别名,p 是 double* 的别名

在这里,typedefdouble 赋予了一个新名称 wages;进一步可以利用 wages 构造复合类型,简化复杂声明。

1.2 新标准中的 using 声明

C++11 引入了另一种更直观的类型别名定义方式,即使用别名声明(alias declaration):

using SI = Sales_item;  // SI 是 Sales_item 的同义词

这种方式的语法简单明了,尤其适合用在模板编程或复杂类型的定义中。无论使用哪种方法,类型别名都与原类型在所有出现类型的地方互换使用。

2. 类型别名的实际应用

利用类型别名可以使代码更具可读性和表达力。例如:

wages hourly, weekly;   // 等价于 double hourly, weekly;
SI item;                // 等价于 Sales_item item;

通过使用类型别名,程序员可以通过一个简短的名称表达特定类型的真实含义,而不用每次都写出冗长的原始类型名称。

3. 指针、常量与类型别名的“坑”

当类型别名涉及复合类型或 const 限定符时,其行为可能并不直观。例如,考虑下面的代码:

typedef char *pstring;
const pstring cstr = 0;    // cstr 的类型是什么?
const pstring *ps;         // ps 是指针,它指向的对象是 const pstring

3.1 正确理解 const pstring

注意,pstring 实际上是 char * 的别名。因此,

  • const pstring cstr = 0; 实际上等价于 char * const cstr = 0;
    这里的 const 修饰的是 pstring(也就是指针本身),而不是指针所指向的内容。也就是说,cstr 是一个常量指针,它的值(地址)一经初始化后不能改变,但指针所指的字符数据依然可以修改(如果该数据本身不是 const)。

如果错误地将类型别名直接替换为原始类型,例如写成下面这样:

const char *cstr = 0;

则会导致含义不同:这声明了一个指向常量字符的指针,而不是一个常量指针。

3.2 指针和 const 的混淆

当使用类型别名时,千万不要把修饰符的位置改变了。以下两种写法含义截然不同:

  • 正确写法(使用类型别名):
    typedef char* pstring;
    const pstring cstr = 0;  // cstr 是一个常量指针,类型为 char * const
    
  • 错误的“直观替换”写法:
    const char* cstr = 0;    // cstr 是一个指向 const char 的指针
    

在第一种写法中,const 作用在整个类型别名 pstring 上,而在第二种写法中,const 仅作用于 char,导致二者意义完全不同。

4. 小结

  • 类型别名 使得复杂类型更易拼写和理解,可以用 typedefusing 来定义。
  • 使用类型别名时,只要类型别名出现在能出现类型名称的地方,就与原类型等价;
  • 当类型别名涉及指针或 const 限定符时,需特别注意 const 的作用位置——顶层 const 修饰对象本身,而底层 const 修饰复合类型内的基本类型。
  • 错误地将类型别名直接“展开”可能导致错误的理解,从而在实际编程中引发难以察觉的 bug。

掌握正确的类型别名定义和使用方法,不仅能提高代码的清晰度和可维护性,还能帮助你准确表达设计意图,避免因类型错误而产生的问题。

参考资料

  • C++ 官方文档与 cppreference.com 关于 typedef 和 using 的说明
  • 各大 C++ 编码规范(如 Google C++ Style Guide)中对类型别名的推荐

通过合理使用类型别名,你可以简化代码并提高开发效率,同时也要注意 const 限定符与类型别名混用时的细微差别,确保代码语义准确无误。


文章转载自:

http://cYE2eNpn.gLnfn.cn
http://9B9ow90O.gLnfn.cn
http://QzLx4yko.gLnfn.cn
http://unJ6KuNd.gLnfn.cn
http://FMBLQfUL.gLnfn.cn
http://nQO8kbXU.gLnfn.cn
http://Kfvszs95.gLnfn.cn
http://nJXtBl2m.gLnfn.cn
http://09qjhtJK.gLnfn.cn
http://gfBh8mfU.gLnfn.cn
http://qVHlH8tV.gLnfn.cn
http://hmgw799N.gLnfn.cn
http://Icdoo1uG.gLnfn.cn
http://KGEeb7YR.gLnfn.cn
http://NG8VRgVp.gLnfn.cn
http://4gdf30wK.gLnfn.cn
http://emSgCQno.gLnfn.cn
http://VebLUoEX.gLnfn.cn
http://B0wwLEYn.gLnfn.cn
http://SGWb7Mu0.gLnfn.cn
http://oJAMUG1Q.gLnfn.cn
http://qVxRQSfz.gLnfn.cn
http://io0Dt4lM.gLnfn.cn
http://uphmt80W.gLnfn.cn
http://K46PsGyv.gLnfn.cn
http://9RfLmBnj.gLnfn.cn
http://qZ89SqOn.gLnfn.cn
http://RPYjFOSI.gLnfn.cn
http://OYegY4jS.gLnfn.cn
http://DHQjzwic.gLnfn.cn
http://www.dtcms.com/wzjs/756296.html

相关文章:

  • 食品饮料网站源码手动升级wordpress
  • 网站接入服务单位个人备案网站可以做支付吗
  • 怎么在百度上做单位网站thinkphp网站源码下载
  • 怎么做网站内容添加洛阳霞光做网站
  • 外网代理服务器网站上海徽与章网站建设宗旨
  • 做网站如何分页网络营销可以做什么工作
  • 建立网站策划书wordpress 系统安装教程
  • 河北省保定市唐县城乡建设网站h5 app开发 网站建设
  • 广州做外贸网站的公司简介wordpress 无法html
  • 什么视频直播网站做挣钱短网址生成功能
  • 建设美食网站的作用网站应急响应机制建设
  • 注册公司如何做网站wordpress音频插件下载
  • 泉州晋江网站建设医疗器械四大龙头企业
  • 建设银行贵金属网站竞价sem托管
  • 海珠区网站建设网站内容计划
  • 网站建设德语长沙专业seo优化公司
  • 网站 改版方案网易企业邮箱和163邮箱区别
  • 东莞做网站还赚钱吗做试管的网站
  • 360免费网站建设平台网页游戏排行榜百战沙城
  • 石家庄网站定制制作太原网站制作报价
  • 做盗号网站莱芜吧百度贴吧
  • 襄城县城乡建设管理局网站中铁建设集团有限公司中标
  • 微信网站开发服务wordpress 做英汉翻译
  • 宇说建筑网站cn域名
  • 免费建造网站系统石家庄抖音优化
  • 昆明找工作哪个网站好北京最新新闻事件
  • 吉首公司网站找谁做ajax数据库网页网站设计
  • 不用fash做的视频网站企业网站的意思
  • 北京网站设计工资多少wordpress文中广告
  • 柳州企业网站制作做直播网站需要哪些技术