C++指针参数引用
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,粘个代码占位置,以后有时间把指针函数,函数指针都补上#include using namespace std;void freePtr1(int* p1){ /*未释放内存前 -> p1 Ad
千家信息网最后更新 2025年02月02日C++指针参数引用
粘个代码占位置,以后有时间把指针函数,函数指针都补上
#includeusing namespace std;void freePtr1(int* p1){ /*未释放内存前 -> p1 Address : 0012FDDC p1 value : 003429B8, 在这里,p1它也是一个变量,既然是一个变量, 那么它将会以值的传递,把外部变量p1传到栈内,在栈内产生一个地址:0012FDDC, 当然,它的值不会变仍然是指向堆地址:003429B8 。*/ delete p1; //系统回收p1值的地址003429B8处的内存。 p1 = NULL;//对p1赋以NULL值即:00000000,注意:p1本身的地址并没有变,变的是p1的值。 //释放内存后 -> p1 Address : 0012FDDC p1 value : 00000000 //,出栈后,p1由于是一个临时对象,出栈后它会自动被视为无效。}void freePtr2(int*& p2) { /*未释放内存前 -> p2 Address : 0012FEC8 p2 value : 003429B8, p2是一个指针的引用,即引用指向指针, 记住引用的特点:对引用的对象直接操作。所以它的地址和值与栈外的main()函数中,p2的值是同一个。*/ delete p2; //对p2所引用的指针进行释放内存,即:系统回收main()函数中 p2的值 003429B8 地址处的内存。 p2 = NULL;//对main()函数中p2的指针赋以NULL值。 //释放内存后 -> p2 Address : 0012FEC8 p2 value : 00000000, //由于操作的对象都是main()函数中的p2,所以它将应用到原变量中。}int main(){ int *p1 = new int [1]; //释放内存前-> p1 Address : 0012FED4 p1 value : 003429B8 freePtr1(p1); //释放内存后-> p1 Address : 0012FED4 p1 value : 003429B8 int *p2 = new int [1]; //释放内存前-> p2 Address : 0012FEC8 p2 value : 003429B8 freePtr2(p2);//*&的情况. //释放内存后-> p2 Address : 0012FEC8 p2 value : 00000000}
内存
指针
函数
地址
变量
对象
指向
系统
代码
位置
情况
时间
特点
应用
参数
C++
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库技术和大数据工资
基础设施网络安全保护要求
图片存储数据库java
大芒果单机启动服务器
武汉国家网络安全学院是学什么
数据库关键指标是什么原因
网络安全员的习惯
佛山体育馆软件开发
网络安全治理规范
数据库软件排名
长春宽城网络安全
绝地求生国际服怎么无限换服务器
软件开发时期阶段
易语言数据库汉字
vscode使用编译数据库
网络安全日志模板
南京专业软件开发售后保障
没有软件开发经验怎么办
软件开发可行性调研报告
阿里云 多台服务器
广州网络安全应急指挥中心
软件开发代码沟通
网络安全技术的应用
软件开发和软件维护相互关系
绗缝机软件开发公司
网络安全知识必答题
广德进口软件开发服务设备
软件开发作专业
软件开发师哪里就业率高
SQL数据库名和实例名