C++中的引用和动态内存分配

引用

1.类型名后加**&**,如

int &a = b;
  • 引用必须初始化成引用某个变量,之后不会改变
  • 某个变量的引用,等价于该变量,相当于一个别名
  • 引用可以作为函数的返回值,从而修改函数的返回值,如
int &SetValue() {return n;}
SetValue() = 40;

2.常引用const T &

  • 不能通过常引用修改其引用内容
  • 与非常引用 T & 是不同的类型,但可以通过强制类型转换来实现非常引用给常引用赋值(反过来不行)

const关键字的用法

1.定义常量

const int MAX_VAL = 23;

类似define,但可以规定变量类型,更好

2.定义常量指针

不能通过常量指针修改其指向的内容(但可以通过其他方式修改,也可以指向其他变量)

作用:函数参数为常量指针时,可避免函数内部修改其指向的内容。

3.定义常引用

即上述引用部分第2点

动态内存分配

1.new运算符

(1)分配一个变量

int *p = new int;

(2)分配一个数组

int *p = new int[10];

注意:new运算符返回值类型为 T *

2.delete运算符

与new搭配使用,用new动态分配的空间,一定要用delete进行释放

注意:

  • 一片空间只能被delete一次
  • 释放数组要加"[ ]",否则可能释放不完全,导致空间利用不足,例如:
int *p = new int[20];
delete []p;

https://www.bilibili.com/video/BV1Ns411n7ui?p=4&spm_id_from=pageDriver
程序设计与算法(三)C++面向对象程序设计

转自https://blog.nowcoder.net/n/9f9a0961875f4866bf21e1d40ab2f071

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值