栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

坚持学习100天:引用与内存管理

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

坚持学习100天:引用与内存管理

前言

Hello,我是修齊。
学习C++的第一百零一十七天,用心学习。
在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔记。

一、reference(引用)

1.引用用做对象的另一名字,实际中主要用做函数的形式参数。
2.简单讲,引用主要是一种复合类型(compound type),即用其他类型定义的类型。
3.通过在变量名前添加&符号来定义
4.在引用情况下,每一种引用类型都关联到某一其他类型。
5.不能定义引用类型的引用,但可以定义任何其他类型的引用。
6.引用引入了对象的一个同义词,引用只是绑定的对象的另一名字。
7.作用在引用上的所有操作事实上都是作用在改引用绑定的对象上。
8.引用就是某一变量(目标)的一个别名,对引用的操作与对变量的直接操作完全一样。

int a;
int &ra=a;//定义引用ra,它是变量a的引用,即别名

9.引用不是值,不占内存空间,声明引用时,目标的存储状态不会改变,所以,引用只有声明,没有定义。
10.不能建立数组的引用,数组是一个由若干个元素所组成的集合,无法将建立一个数组的别名。

二、引用的使用
#include
void main()
{
   int a;//声明变量
   int &ra=a;//声明引用并赋初值
   a=1;//给变量辅助
   cout<<"给变量a赋值1后"<void swap(int &p1,int &p2)//函数的形参p1,p2都是引用
{
   int p;
   p=p1;
   p1=p2;
   p2=p;
}
void main()
{
   int a,b;
   cout<<"Please input 2 number:"<>a>>b;
   cout<<"Before swap:"<类型标识符 &函数名(形参列表及类型说明)
{
    函数体
}
float temp;//定义全局变量temp
float func1(float r);
float &func2(float r);
float func1(float r)
{
    temp=(float)(r*r*3.14);
    return temp;
}
float &func2(float r)
{
    temp=(float)(r*r*3.14);
    return temp;
}
void main()
{
    float a=func1(5.0);
    float b=func2(5.0);
    float &c=func2(5.0);
    cout<<"a= "<int (*p)[3];
p=new int[2][3];
五、释放空间

1.delete 运算符是释放new申请到的内存,语法格式为:
delete 指针;//释放非数组内存单元
delete[常量] 指针;//释放数组内存单元
2.指针是指向需要释放的内存单元的指针的名字。
3.delete只删除动态内存单元,不会将指针本身删除
4.释放的对象不同,delete的语法格式也不同
5.对int型内存单元的申请与释放:
int*p;
p=new int;
*p=1;
delete p;
6.对数组内存单元的申请和释放:
int *p;
p=new int[10];
delete[10];

上述内容如有侵权,联系即删。
感谢阅读-感谢支持

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号