C++的二级指针和指针怎么引用
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容主要讲解"C++的二级指针和指针怎么引用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++的二级指针和指针怎么引用"吧!目的:形参指针改变实参指
千家信息网最后更新 2024年11月24日C++的二级指针和指针怎么引用
本篇内容主要讲解"C++的二级指针和指针怎么引用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++的二级指针和指针怎么引用"吧!
目的:形参指针改变实参指针所指向的对象(即地址)
举例:pointer
指针指向白鸭子whiteDuck
,如果想要设计一个函数,这个函数能够令pointer指向黑鸭子blackDuck。
图示如下:
代码简示如下:
Duck *duck = &oldDuck;someFunction(duck);// 此时duck指向newDuck;
1、形参与实参均为指针时达不到此目的
此时,二者指向同一地址,可以对同一对象进行操作。但是形参指针不能改变实参指针所指向的地址,因为二者是两个完全无关的指针对象。函数传递参数时,将实参指针的值传递给形参指针,是一个值传递的过程。
2、解决方案——指针引用或二级指针
为了让函数能够更改实参指针所指向的地址,需要将实参的地址传入函数。
此时有两种策略来实现目的:
形参为二级指针**p;
形参为指针引用*&p;
下面分别对两种方式进行介绍,并提供相应的代码。
其中Duck类的定义如下:
class Duck {public: Duck(int color) { this->color = color; } // 0表示白色,1表示黑色 int color = 0;};
(1)形参为二级指针**p
此时,实参为指针的地址,形参为指针的指针,即形参指向实参。形参对实参进行操作,而不是对实参指向的地址进行操作。
void changeObject(Duck **p) { *p = new Duck(1);}// 调用方式changeObject(&pointer);
(2)形参为指针引用*&p
指针引用即指针的引用,指针引用同样是针对指针进行操作,而不是针对指针指向的地址进行操作:
void changeObject(Duck *&p) { p = new Duck(1);}// 调用方式changeObject(pointer);
到此,相信大家对"C++的二级指针和指针怎么引用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
指针
指向
形参
地址
函数
C++
对象
方式
目的
代码
内容
学习
实用
更深
两个
兴趣
参数
实用性
实际
操作简单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
应选用____数据库
女生网络安全软件
网易云 服务器
共亨软件开发有限公司
思科网络安全设计
办公自动化软件开发月薪
缓存与数据库实战
人工智能下载数据库
原神官服是那个服务器
嘉福路网络技术上海有限公司
游族网络安全知识
怎样将数据库文件导出
薇恩互联网科技
信息网络安全博士点
你有一份网络安全防骗秘籍
金蝶sql数据库密码
关于全国网络安全竞赛的作文
网络安全教育管理ppt
易语言怎么写数据库
浪潮液冷服务器
查询各部门的人数数据库原理
什么软件可以注册服务器
巨龙之巢服务器一直重新连接
秀山计算机网络技术职业学校
智睿数据库密码
天津服务器配置云空间
嘉福路网络技术上海有限公司
EVSSL服务器证书
数据库关系表达式的运算结果是
克服选择恐惧症的软件开发