C++的二级指针和指针怎么引用
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"C++的二级指针和指针怎么引用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++的二级指针和指针怎么引用"吧!目的:形参指针改变实参指
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
国外5g网络技术
数据库安全性包括
北京学做软件开发
软件开发和硬件开发统称为
欧洲的蛋白质结构数据库
服务器安全狗检测
神奇宝贝服务器怎么玩
hadoop关系型数据库
软件开发跟编程有什么区别
服装科技公司通过互联网
专升本数据库中常考命令
网络安全风险评估台账
2020年网络安全答案
山西常用软件开发怎么样
奉节网络安全审计系统咨询
黑魂2服务器怎么登录
阿里数据库在水里
腾讯视频网络服务器在哪里
软件开发项目中期进展报告
查找不可用无法查找服务器
武汉未来时光软件开发有限公司
网络安全训练营第19讲视频
深圳华为软件开发公司招聘
手机改代理服务器
数据库ora12033
发言人外交部网络安全
互联网络安全教育的手抄报
hp 微服务器
制冷系统仿真软件开发
qq数据库泄露