引用与指针

一、引用与指针赋值操作的差别

C++ primer中的说明:

考虑以下两个程序段。第一个程序段将一个指针赋给另一指针:

          int ival = 1024, ival2 = 2048;
          int *pi = &ival, *pi2 = &ival2;
          pi = pi2;    // pi now points to ival2

After the assignment, ival, the object addressed by pi remains unchanged. The assignment changes the value of pi, making it point to a different object. Now consider a similar program that assigns two references:

赋值结束后,pi 所指向的 ival 对象值保持不变,赋值操作修改了 pi 指针的值,使其指向另一个不同的对象。现在考虑另一段相似的程序,使用两个引用赋值:

          int &ri = ival, &ri2 = ival2;
          ri = ri2;    // assigns ival2 to ival

This assignment changes ival, the value referenced byri, and not the reference itself. After the assignment, the two references still refer to their original objects, and the value of those objects is now the same as well.

这个赋值操作修改了 ri 引用的值 ival 对象,而并非引用本身。赋值后,这两个引用还是分别指向原来关联的对象,此时这两个对象的值相等。

 

1、引用仅是别名,不分配内存;

2、可以声明指针的引用:

int  *a;

int * &p=a;

 

二、函数使用引用返回

1、不能是不存在的值,如函数局部变量。

2、常用于返回对象的引用

 

Q for C++:

1、main与被调函数的参数传递的栈内存分布,函数值副本,const引用返回,const 函数定义体

2、对象模型(对象内存布局):虚函数表,虚基指针,this调用

3、const与&,指针,静态成员

4、private 构造函数与析构函数屏蔽默认函数,const类成员(流对象)

5、位运算,float内存布局,类型转换

6、转换构造函数与重载转换运算符,拷贝构造函数与重载赋值运算符

7、ostream(继承类的应用),try,throw,catch

8、树,图结构与算法,排序算法

9、new与delete,堆分配的检查,delete后指针置0;数组越界的检查

。。。

如:

const变量存储在全局数据区?

const int *p与int * const p与const int *const p的使用

const参数的使用与const返回值的使用

 

内容概要:本文主要介绍了一项基于Pytorch框架搭建神经网络的研究【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)工作,重点实现了DQN算法、优先级采样的DQN算法以及结合人工势场法的DQN算法在避障控制中的应用。研究通过MatlabPython平台进行仿真实验,旨在提升智能体在复杂环境中的自主避障能力。文中详细阐述了三种算法的设计思路、网络结构搭建、训练流程及优化策略,并通过对比实验验证了各方法的有效性性能差异,尤其突出了DQN结合人工势场法在引导智能体快速学习安全路径方面的优势。此外,文档还列举了大量相关的科研方向技术应用案例,涵盖无人机控制、路径规划、强化学习、电力系统优化等多个领域,展示了广泛的科研服务能力技术积累。; 适合人群:具备一定Python深度学习基础,熟悉强化学习基本概念的研究生、科研人员及工程技术人员;对智能控制、机器人避障、无人机路径规划等领域感兴趣的开发者。; 使用场景及目标:① 学习DQN及其改进算法(如优先经验回放)在实际控制系统中的实现方式;② 掌握如何将传统人工势场法深度强化学习相结合以提升避障性能;③ 借鉴MatlabPython混合仿真方法,开展智能控制算法的实验验证对比分析;④ 拓展至无人机、无人车等智能体的自主导航系统设计。; 阅读建议:建议读者结合提供的代码资源,逐步复现实验过程,重点关注神经网络结构设计、奖励函数设定及算法收敛性分析。同时可参考文中列出的其他研究方向,拓展应用场景,提升科研创新能力。
内容【2025最新高维多目标优化】无人机三维路径规划的导航变量的多目标粒子群优化算法NMOPSO研究(Matlab代码实现)概要:本文围绕“2025最新高维多目标优化”主题,重点研究基于城市场景下无人机三维路径规划的导航变量多目标粒子群优化算法NMOPSO,并提供了完整的Matlab代码实现。该研究旨在解决复杂威胁环境下无人机路径规划中的多目标优化问题,兼顾路径安全性、能耗、距离时效等多个目标,通过改进的粒子群算法实现高效搜索优化。文中详细阐述了算法设计思路、数学建模过程、适应度函数构建及约束处理机制,并结合三维城市环境进行仿真实验验证其有效性。此外,文档还列举了大量相关科研方向技术资源,涵盖智能优化算法、路径规划、无人机控制、机器学习、电力系统等多个领域,展示了广泛的科研应用场景技术支持体系。; 适合人群:具备一定Matlab编程基础,从事无人机路径规划、智能优化算法或自动化控制等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究高维多目标优化算法在无人机三维路径规划中的应用;②掌握多目标粒子群优化算法(MOPSO/NMOPSO)的设计实现方法;③复现并改进复杂环境下的无人机协同路径规划模型;④拓展至其他智能优化控制问题的研究仿真。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注算法核心模块的实现细节,如种群初始化、非支配排序、拥挤度计算动态环境建模。同时可参考文中列出的其他研究案例,拓展技术视野,推动算法在实际科研项目中的迁移应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值