- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计第1章(二)
第一章认识C++的对象;1.2.3 动态分配内存;1.2.3 动态分配内存
new 动态分配内存
一般格式:
指针变量 = new 类型 [size];
new 运算符得到新分配空间的首地址,赋值给指针变量后,可根据指针变量的加减运算来使用这些空间。
delete 释放内存 使用完毕后要释放内存
delete p;; 操作符new的存在是为了要求动态内存。new 后面跟一个数据类型,并跟一对可选的方括号[ ]里面为要求的元素数。它返回一个指向内存块开始位置的指针。其形式为:
p = new 类型名;
//用来给一个单元素的数据类型分配内存。
p = new 类型名 [SIZE];
//用来给一个数组分配内存。;给一个数组分配内存;给一个数组分配内存;给一个单元素的数据类型分配内存; 删除操作符 delete ;1.2.4 引用的使用方法
C++中新的表示形式。
引用即使用变量的别名。
定义形式:数据类型 别名= 对象名;
作用:别名与对象名对应同一个对象,共用同一段内存。对别名的修改会造成原对象的修改。
例:int x ; int a = x ; //表示a是变量x的别名。
注意:一旦定义别名后则a和x完全等价。;1.2.4 引用的使用方法
C++中新的表示形式。
引用即使用变量的别名。
定义形式:数据类型 别名= 对象名;
;引用是指给对象的地址取个别名,
数据类型 别名=对象名(正名)
int a=56, b ;
int ra1 = a;
int ra2 = ra1;
对别名的改动则是对正名的改动。
引用不占有存储空间,别名和对象(正名)占有相同存储空间
;引用作为函数参数--地址传递
不能直接声明对数组的引用
不能声明对引用的引用
int r=x; (×)
可以声明对指针的引用。
int x, *p2=x;
int * p1=p2;
int * p3= p2; p1= x;
int x=56; int a=x;
int *p= x; int *p= a;
;引用实例:;使用引用时注意:
1,不能定义引用的引用 int r=x;
2,不能直接定义数组的引用;数组的引用:
;等价于;间接引用数组实例:;1.2.5 对指针使用const限定符;1.2.5 对指针使用const限定符;#include iostream
using namespace std;
void main ( )
{ const int y = 58;
const int *p = y;
int x=45,z(0);
const int *p1=x;
z = *p1 + *p;
coutz=“ z endl;
p1 = y; //*p1=y;
z = *p1 + *p;
coutz=“ z endl;
};1.2.5 对指针使用const限定符(识记);int x=45 ,y ; int * const p=x;
表示p是常量,需要初始化 p 不能被赋值, p=y;
#include iostream
using namespace std;
void main ( )
{ int y=58, x=66;
int * const p=y;
cout“y=yendl;
*p=66; //p=x;
cout“y=yendl;
};1.2.5 对指针使用const限定符(识记);1.2.6 泛型算法应用于普通数组
所谓泛型算法就是提供的操作与元素的类型无关。
泛型算法是C++标准模板库(Standard Template Library)提供的一组操作。利用这些操作可以简化数组操作。
要使用这些操作必须包含头文件algorithm;1.2.6 泛型算法应用于普通数组(识记)
假定a,b是两个数组名,其长度为len
操作示例:
1.reverse( a, a+len)
将数组a中的元素顺序反转。(逆向)
2.copy( a, a+len, b )
将a数组的内容原样复制给b数组
reverse_copy (a, a+len, b)
将a数组的内容反转后复制给b数组;1.2.6 泛型算法应用于普通数组(识记)
假定a,b是两个数组名,其长度为len
操作示例:reverse_copy (a,a+len,b)
3.sort(a,a+len)
将数组a中的元素按升序排序
4.sort(a,a+len,gre
文档评论(0)