当前位置: 首页 > wzjs >正文

中国广东网站建设安卓软件开发需要学什么软件

中国广东网站建设,安卓软件开发需要学什么软件,seo 怎么建设网站外链,WordPress单页随机成员函数定义后面加const是什么功能:C中const成员函数的作用 前言C中const成员函数的作用总结 前言 在PX4的代码中的位置控制模块中,有这样一个成员函数 void getAttitudeSetpoint(vehicle_attitude_setpoint_s &attitude_setpoint) const;该函数的…

成员函数定义后面加const是什么功能:C++中const成员函数的作用

  • 前言
  • C++中const成员函数的作用
  • 总结

在这里插入图片描述

前言

在PX4的代码中的位置控制模块中,有这样一个成员函数

void getAttitudeSetpoint(vehicle_attitude_setpoint_s &attitude_setpoint) const;

该函数的功能是:在位置控制器经过更新后得到了期望的油门向量,通过这个函数转换为期望姿态值。

可以看到函数的声明和定义时,后面都加了一个const关键字在这个地方这个关键字是做什么用的呢?

在C++中,成员函数后的 const 关键字表示该函数是常量成员函数。

C++中const成员函数的作用

在C++中,成员函数后的 const 关键字表示该函数是常量成员函数,其作用如下:

1、不可修改对象状态

  • const 成员函数承诺不会修改类的非静态成员变量(除非成员被 mutable 修饰)。
  • 在函数内部尝试修改成员变量会导致编译错误(除非变量是 mutable 的)。

2、允许在const 对象上调用

  • 只有 const 成员函数才能被 const 对象调用。例如:
const PositionControl controller;
controller.getAttitudeSetpoint(...);  // 正确:调用 const 成员函数
PositionControl controller;
controller.getAttitudeSetpoint(...);  // 正确:非const对象也可以调用 const 成员函数
  • 非 const 成员函数无法在 const 对象上调用。
const PositionControl controller;
controller.setInputSetpoint(...);  // 错误:const对象只能调用 const 成员函数,而setInputSetpoint为非const 成员函数

3、 明确设计意图

  • 函数名后的 const 明确告知调用者:此函数仅用于查询或获取数据,不会改变对象内部状态。
  • 在示例中,getAttitudeSetpoint 用于获取姿态设定点,而非修改控制器状态,因此标记为 const 是合理的。

4、参数与 const 的关系

  • 示例中的参数 vehicle_attitude_setpoint_s &attitude_setpoint 是一个非 const 引用,函数可能通过此引用修改外部传入的对象。

  • 但函数本身的 const 仅约束对类内部状态的修改,不影响参数的行为。

总结

const 成员函数是 C++ 的常量正确性(const-correctness)机制,确保函数:

  • 不意外修改对象状态。
  • 可在 const 上下文中安全使用。
  • 提升代码可读性和安全性。

在示例中,getAttitudeSetpoint 用于获取姿态设定点,而非修改控制器状态,因此标记为 const 是合理的。

示例中的参数 vehicle_attitude_setpoint_s &attitude_setpoint 是一个非 const 引用,函数可能通过此引用修改外部传入的对象。

http://www.dtcms.com/wzjs/603034.html

相关文章:

  • 济南品牌网站建设介绍四库一平台官网
  • 网站建设经费长春建设网站公司哪家好
  • 格力空调网站建设策划书淄博网站建设哪家好
  • 网站建设 淘宝客末班高德地图vr全景怎么打开
  • 微信平台做微文网站链接县工商局 网站建设
  • 做推广任务的网站有哪些除了小红书还有什么推广平台
  • 网站设计公司收费标准做网站是个什么行业
  • dede调用网站名称自己买个服务器有什么用
  • 山海关网站制作广汉网站建设
  • iis配置网站无法访问网站开发 手机 电脑
  • 常州网站建设麦策电商外国网站翻墙怎么做
  • 传奇免费网站模板下载网站建设需要什么资料
  • 网站互联网接入商网站 系统概述
  • 西安网站制作公司哪家好如何开发网站建设业务
  • 如何做网站公证如何搭建一个app
  • 台州公司建站模板本地wordpress安装教程
  • 洪梅镇网站建设深圳福永
  • 企业网站建设设计任务书广告公司名称大全最新
  • 怎么能创建自己的网站p2p网站开发的多少钱
  • 怎么给网站有一字做标记洋河门户平台
  • 网站商城建设要多少钱网站管理系统 手机
  • 设计广告公司网站建设做牛津纺衬衫的网站
  • 赣州人才网站区块链开发公司
  • 网站建设和优化内容最重要性Wordpress 微博评论
  • 综合门户网站什么意思江苏城乡与住房建设部网站
  • 公司网站建设情况说明学编程的培训机构
  • 政务网站建设具体指导意见Wordpress 跨域登录
  • 网站后台安全传播易广告投放平台
  • 旅游网站开发流程恒大地产
  • 我要在58上面做网站网站的描述 都应该写 什么 优化