- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ANSIC特征总结
随着C++的普及,标准的指定成了C++发展的必然趋势。而制订此一标准的工作是由ANSI (American National Standards Institute,美国标准学会)与ISO (International Standardization Organization,国际标准组织)进行。??????? ANSI规则中的许多新规则都是对最初的C++进行的扩充。也可以不使用这些新的特征。这些新特征包括关键字mutable以及explicit。??????? 有一些修改的潜在作用很大。现在ANSI规则鼓励某些编程方法而抛弃其他一些编程方法。尽管在一段时间内不会放弃对老式编程方法的支持,但是有一些编程方法最终是要被淘汰掉的——这意味着编译器将给出警告并建议使用新的编程方法。迟早有一天会抛弃掉对这些旧方法的支持。??????? ANSI规则的主要改变包括:
(1)新的头文件的载入方式????????在ANSI/ISO的C++标准里,定义了一个名为std的namespace,并将许多类定义在这个namespace。??????? 例如,旧方法载入头文件?? #include iostream.h???????????????????? 新方法则修改为???? #include iostream????????????????????????????????????????????????????? using namespace std ;
(2)执行时间类信息 RTTI(Run-Time type Inforamtion)??????? RTTI中文字面翻译为执行时间类信息,也就是在执行时判别数据的类型,例如:判别模板被什么类型套用???????? 首先在使用typeid前,必须include名为typeid的头文件。可以利用typeid判别某一变量的数据类型?
????????????????????????????????????????????? int a;??????????????????????????????????????????????if(typeid(a)==typeid(int))??? // 判别a的数据类型是否为int????????????????????????????????????????????????……??????? 或者取得变量的数据类型的名称?? char *data_type=typeid(a).name()??? //输出a的数据类型
(3)类型转换??????? C语言对所有的情况都使用一种类型转换运算符,在ANSI/ISO C++标准的草案中,新增了四种类型能够转换语法,分别针对四种特定的类型转换需要,以取代传统的类型转换。新增的类型转换语法能够更精确地控制程序、减少程序错误的产生。这四种新的类型转换运算符分别是:const_cast, dynamic_cast , reinteroret_cast,?? static_cast。
????????const_cast (去除const属性)????????const_cast操作符用来帮助调用那些应该使用而没有使用const关键字的函数。换句话说,就是供程序设计师在特殊情况下将限制为const成员函数的const定义解除,使其能更改特定属性。?????????????????????????????? ?例如:void display_num(double *p)?????????????????????????????????????????? ?{ ???????????????????????????????????????????? printf(“The value is %2.3f\n”,*p);??????????????????????????????????????????? }????????????????????????????????????????????const double x;??????????????????????????????????????????? display_num( x);??????????????? //Disallowed!? C++的规则禁止这样调用,因为一个const指针通常不能传递给一个非const类型的参数
?????????????????????????????????????????? ?display_num(const_castdouble *( x));???????????????? //将 x由const double *类型转换为double *类型。[NOTE]:当使用const_
您可能关注的文档
- AMB-E系列轨道测试报告.doc
- 420-500-A麒麟鲲鹏使用洁净室消毒剂-c.doc
- 42-335-508-1000地质钻杆.doc
- 42013年全国各地高考岩石圈部分.doc
- AMD-ATI显卡规格详表.doc
- AMD-ATI显卡规格详表2009年.doc
- AMD2510系列数控转塔冲床.doc
- 4203回风巷与4202运输巷贯通安全措施.doc
- AMD6核配什么主板.doc
- AMDCPU揭壳散热实战.doc
- 2025江浙沪居民睡眠健康小调研报告.pdf
- 毕业论文的开题报告范文.docx
- 团委活动方案(拓展).docx
- 汽车智能驾驶行业深度报告:端到端与AI共振,智驾平权开启新时代.pdf
- 小核酸行业深度:技术平台和适应症不断验证,迎来销售和临床密集兑现期-华福证券-2025.3.31-65页.docx
- 医药生物行业医疗AI专题报告二多组学篇AI技术驱动精准诊断实现重要突破-25031440页.docx
- CXO行业系列报告三寒冬已过行业需求逐步回暖-25031430页.docx
- 全国租赁市场报告2025年3月_可有哪些信誉好的足球投注网站.pdf
- 玩具行业“情绪经济”专题:创新玩法+IP赋能,重新定义玩具-华鑫证券-2025.docx
- 医疗保健行业PCAB抑制剂药物深度报告抑酸药物市场空间广阔PCAB抑制剂大有可为-25.pdf
文档评论(0)