阿牛哥C++笔记---1

第六讲 对象指针

定义
使用
操作指向的对象

void main()
{
CStudent student;
CStudent *t=&studetn;
pt->input("TOM",22,'M');
(*pt).input("JIM",19,'M');
}
pt 是指针变量,使用完成后会自动释放,不用析构函数来释放。

第七讲 内存的分配与释放

静态内存
栈内存
堆内存

堆内存分配方式是动态分配

int *p=new int; //new 是运算符
int *p=new int(10); //赋初值
int *p=new int[10];//分配一个整型的数组,有10个元素
//不可直接初始化,只能通过其他的语句
//不能动态的释放,只能手工的释放
delete p;//释放地址
delete []p;或者 delete [10]p;//释放数组

注意点
1,new与delete必须配对使用,不释放会发生内存泄漏的现象
2,new一个数组时,不要初始化
3,delete一个数组时,必须指明数组
4,一个指针变量没有指向一个指定的内存空间时,不能操作指针变量

第八讲 变量的引用

别名就是引用

引用的概念
一个变量的别名叫做引用,对引用的操作就是对变量的直接操作,这本身

不是变量名,也没有类型,定义时,也不分配空间

先有变量名,然后再有一个别名

定义格式
int m;
int &n=m;
& 代表别名  n是m的别名

int m=5;
int &n=m;
n=6;
cout<<m;

很明显输出为6,对引用的操作就是对引用的变量进行操作

注意点
&是标识作用,不是求地址
类型标示符是目标变量的类型
声明引用时,必须同时对其进行初始化
引用声明完毕后,相当于目标变量名有两个名称,原名和引用名,且不能

再作为其他变量的别名
引用本身不占存储单元,系统也不分配,
不能建立数组的引用,因为数组是一个集合
不能建立指向引用的指针,因为引用不是一种数据类型,所以没有引用引

用,没有引用的指针

主要功能
传递函数的参数
返回一个引用

引用必须有效
 不能返回局部变量的引用
 不能建立数组的引用
 不能建立new对象的引用
 不能建立引用的引用

第九讲 this指针

第十讲 this指针
特点
 只能用在类的成员函数中,它指向调用这个函数的对象
 区别形参和数据成员
 返回对象本身
 静态成员的函数没有this指针

void main()
{
 CStudent stu1;
 stu1.input(&stu1,"TOM",89);
 stu1.output();
}

CStudent intput(CStudent *this,char *name,int score)
{

 this->name=name;
 this->score=score;
 return(*this);
}

void output()
{
 cout<<this->name<<" "<<this->score<<endl;
}

使用方式
显式
 当形参和数据成员名字相同时
 返回当前对象本身时
隐式
 形参和数据成员名字不同时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值