第七章更多数据类型和运算符解答.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 函数详解 const和volatile使用 static变量使用 register变量使用 枚举型变量使用 typedef使用 按位运算符 ?运算符 逗号运算符 多重赋值 复合赋值 sizeof运算符使用 优先级小结 本章主要内容 1 15 2 15 7.1 const和volatile限定符 C++中有const和volatile限定符简称为cv(cv-qualifier )限定符,它们影响变量的访问或修改方法。声明一个变量的时候,这些限定符位于基本类型的前面。 本讲将继续分析数据类型和运算符。除了到目的为止所使用的数据类型以外,C++还支持其他几种数据类型。其中一些由添加到己知类型中的修饰符组成。其他数据类型包括枚举和typedef类型。C++还提供几个额外的运算符, 即按位、移位、?、”,”以及sizeof运算符。 一、const限定符 使用const限定符声明的变量在执行程序期间不能修改其数值,不过可以赋予声明为const的变量一个初始值。主要用于定义具有名称的常量,限制函数对指针所指变量和索引引用变量的修改。 Chapter 7 Exm1 Chapter 7 Exm2 3 15 二、volatile限定符 的实参。也就是说,对形参的修改会影响用于调用子程序的实参。 存储类说明符auto、extern、register、static和mutable用来告诉编译器应该怎样存储一个变量。存储说明符位于变量声明的最前面。mutable用于类对象,后面讲解。 Volatile修饰符告诉编译器,一个变量的值可以由程序以隐式指定的方法修改。 Chapter 7 Exm2_1 Chapter 7 Exm2_2 7.2 存储类说明符 一、auto说明符 auto说明符声明一个局部变量。但是,很少用到这个说明符,因为局部变量都是默认为auto的。这个关键字用于程序中的情况非常少见。这是从C语言延续下来的一个说明符。 二、extern说明符 4 15 在由两个或更多文件组成的程序中,每个文件都必须了解程序所使用的全局变量的名称和类型。但是,不能在每个文件中声明全局变量的副本。原因是程序只能含有每个全局变量的一个副本。因此,如果想要在每个文件中声明程序中所需的全局变量,那么当链接程序试图链接文件时,就会产生一个错误。它会发现重复的全局变量,并且将不会链接程序。这个难题的解决方案是在一个文件中声明所有的全局变量,并在其他文件中使用extern声明。 Chapter 7 Exm3_1 extern链接说明 extern的一种变异形式提供了链接说明,它是对编译器的一个指令,指示链接程序如何处理函数。函数默认作为C++函数链接,但是链接说明允许链接不同类型语言的函数。 Chapter 7 Exm3 三、static变星 5 15 static类型的变量是其自身函数或文件中的永久变量。它们与全局变量不同,因为在它们的函数或文件之外是未知的。 当static修饰符应用于局部变量时,为这个变量分配永久存储空间,这一点与全局变量类似。它允许static变量在各个函数调用之间保持其数值(换句话说,即当函数返回时,它的数值不会丢失,不像一般的局部变量那样)。static局部变量与全局变量的主要不同在于,局部变量只在声明它的代码块中是已知的。 1、static局部变量 Chapter 7 Exm4 2、static全局变量 当static说明符应用于全局变量时,它告知编译器创建一个全局变量,这个变量只为声明它的文件所知。这意味着,尽管这个变量是全局性的,但是其他文件中的其他函数并不知道这个变 6 15 4、register变量 量,不能修改其内容。因而,它不会受到副作用的影响。 可能最常用的存储类说明符就是register了。register修饰符告知编译器某变量以被尽快访问方式存储。通常,这意味着将该变量存储到CPU的一个寄存器中,或者存储到缓存中。因为,访问CPU的寄存器(或缓存)比访问计算机的主存储器要快得多。register只是请求编译器这么做,编译器不一定这么做。因为寄存器和缓存数量有限 。另外,现在编译器已经很先进,在不使用register ,它也会帮助优化。一般,对程序性能影响比较大的变量可用register强制修饰。 Chapter 7 Exm5 Chapter 7 Exm6 7 15 7.3 枚举 在C++语言中,可以定义一个含有命名的整型常量的列表。这样的列表叫做枚举。然后,这些常量就可以在整数可用的任何地方使用。枚举的定义使用enum关键字,并具有如下通用的格式: 。 枚举中要了解的一个关键点是,每一个符号代表一个整数值。另外,除非初始化为别的值,否则第一个枚举符号的值是0,第二个符号的值是1,依此类推。

文档评论(0)

舞林宝贝 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档