c++讲稿第六讲1.pptVIP

  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文档。上传文档
查看更多
c讲稿第六讲1

6.3 常类型 6.3.1 一般常量和对象常量 1、一般常量(简单类型的常量) 6.3.2 常指针和常引用 1、常指针 6.3.2 常指针和常引用 1、常指针 6.3.2 常指针和常引用(续) 6.3.2 常指针和常引用(续) 例6.11:分析下列程序的输出结果。 6.3.2 常指针和常引用(续) 6.3.2 常指针和常引用(续) 例6.12:分析下列程序的输出结果。 6.3.2 常指针和常引用(续) 输出 6.3.3 常成员函数 1、常成员函数 6.3.3 常成员函数(续) 例:分析下列程序是否正确。 6.3.3 常成员函数(续) 6.3.3 常成员函数(续) 例6.13:分析下列程序的输出结果。 6.3.3 常成员函数(续) 输 出 6.3.4 常数据成员 6.3.4 常数据成员(续) 例6.14:分析下列程序的输出结果。 6.3.4 常数据成员(续) 输 出 6.4.1 子对象 6.4.1 子对象(续) 例6.15:分析下列程序的输出结果。 6.4.1 子对象(续) 6.4.1 子对象(续) 有关动态内存分配的操作符new 和delete C语言中动态空间的申请方法: malloc(size)动态申请size大小的空间,返回指向新分配的内存块的首地址指针,若没有足够的存储空间,返回NULL。 calloc(n,size)动态分配n个空间,每个大小为size ,动态分配内存空间n×size,返回新分配内存块的其实地址。 free(ptr)释放空间。 #include stdlib.h void main() { double *d; d=(double*)malloc(sizeof(double)); *d=123.45; printf(“%d\n”,*d); free(d); } C++中的new的使用规则 功能:利用它可以申请内存空间,因为它返回指向特定内存的地址,如果申请或分配失败(如内存空间不够),则返回NULL。 用法1: new 类型定义符;//申请单个内存空间时,如: int *ptr; ptr=new int; //此时在内存中(数据堆中)分配一个int 的内存单元,并返回该内存单元的地址(区别堆变量和栈变量的差别)。 用法2:new 类型定义符[元素的个数]; //申请一批内存空间时 如: char *ptr; ptr=new char [1024]; //此时在内存中(数据堆中)分配1024个内存单元(1KB的缓冲区),并返回该缓冲区的地址。 区别如下两种不同的用法 int *ptr=new int (5); 定义分配一个int 的内存单元并且赋初始值为5,然后返回该内存单元的地址到ptr中。 int *ptr=new int [5]; 定义分配一个int 的数组,总计为5个元素,ptr指向该数组的起始地址。 C++中的delete的用法 功能:利用它可以将由new所申请的内存空间释放(删除掉)。 用法:delete 内存地址 (一般为指针变量名); 如: delete ptr; 6.4.2 堆对象(续) 例:分析下列程序的输出结果。 6.4.2 堆对象(续) 6.4.2 堆对象(续) 6.4.2 堆对象(续) 输 出 6.4.2 堆对象(续) C ++ 语 言 程 序 设 计 常类型:使用类型修饰符const说明的类型; 常类型的变量或对象的值是不能被更新的; 定义或说明常类型时必须初始化;     类型说明符 const 常量名 或   const 类型说明符 常量名 int const x=2; 或 const int x=2; int const a[3]={1,2,3}; 或 const int a[3]={1,2,3}; 数组元素的值是常量,不能更新; 2、常对象 类名 const 对象名 class A           int x,y; {             }; public:           const A a1(3,4);  A(int i,int j) {x=i;y=j;} private: A const a1(3,4); 常对象a1 char * const ptr1=strptr1; ptr1是一个常量指针; ptr1=strptr2; *ptr1=m; ptr1不可以更新 ptr1所指向的变量可以更新; const的位置 const char * ptr2=strptr1; ptr2是一个指向字符串常量的指针; ptr2=strptr2; *ptr2=m; ptr2可以更新 ptr2所指向的字符串不可以更新; 错误 正确 正确 错误

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档