欢迎来到天天文库
浏览记录
ID:51974693
大小:40.50 KB
页数:23页
时间:2020-03-26
《杨力祥老师c++课件 第三章 堆与拷贝构造函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常量:1.在C++中常数即常量,如:inta=5;(常量5,不在数据中,而在指令中,没有指针,不能赋值)见程序2.const常量,具有常量性质的数据(编译器“把门”)目的是解决类似:#difinepi3.1415926的常量定义见程序const指针1.指向常量的指针(*P是常量,P不是常量)见程序2.指针常量(P是常量,*P不是常量)见程序3.指向常量的指针常量(P是常量,*P是常量)见程序const成员函数:约束成员函数的只读性见程序引用:什么是引用:别名,外号引用本身没有存储空间见程序引用的使用:见
2、程序什么能被引用:什么不能被引用(见程序)1.常量,const(由编译器决定)2.void3.数组4.类型5.空(NULL)6.引用的指针用引用传递参数见程序实参传形参的瞬间绑定问题:普通变量与引用的识别返回引用:返回的是别名返回引用作为左值:见程序const引用见程序引用小结1.引用是别名、不是实体。有声明、无定义。2.引用必须在声明时立即初始化(绑定)。3.引用不可重复初始化,一个外号不能用给两个(以上)人。4.一个变量可以有两个(以上)引用。一个人有多个外号。5.可以用一个引用初始化另一个引用。
3、一个外号声明另一个外号。6.参数为引用时,实参与形参(引用)在传参的瞬间绑定,函数结束时绑定撤销。7.用函数返回的普通变量初始化一个引用是很危险的做法,这意味着返回的值已经被清栈,引用绑定了一个虚无的变量。8.函数返回引用,意味着返回了一个已经初始化了的引用(别名),这个引用可以给普通变量赋值,可以初始化另一个引用,还可以作为左值使用。8.const引用锁死引用的被赋值。作用域、生存期、运行时内存结构作用域:一个概念的起作用的范围,或者说在程序中可以访问这个概念的范围。作用域是对对人而言的,目的是方便程
4、序员组织程序。对计算机而言,无所谓作用域。C的作用域:全局、auto局部、static局部C++的作用域:同上、类域、名空间生存期:语言中的概念所对应的内存中的实体的存在时间(参考运行时)运行时内存结构:代码区、静态数据区、栈区、堆区从运行效率考虑,顺序应为:静态数据区>栈区>堆区C的“好”程序?堆与拷贝构造函数C中的堆技术:viod*malloc(size);free(p);只有空间,没有类型malloc(size)是一个外挂函数C++的堆技术:newdelete相关的概念都具备,甚至可以使构造函数、
5、析构函数自动工作newdelete是C++内嵌的操作符拷贝构造函数:当用一个已有的对象初始化另一个对象是编译器自动调用拷贝构造函数。什么是拷贝构造函数见程序什么时候用拷贝构造函数1.CStudentoStudent1;CStudentoStudent2=oStudent1;2.voidfn(CStudentoStudent){……}默认拷贝构造函数如果程序中未提供拷贝构造函数,C++编译器将提供一个默认的拷贝构造函数,与默认构造函数类似。浅拷贝不带资源深拷贝带资源
此文档下载收益归作者所有