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

中国广东网站建设html5网页制作代码大全

中国广东网站建设,html5网页制作代码大全,常州建站软件,上海国家企业信用网成员函数定义后面加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://Y6IVFpbv.ptxwg.cn
http://cWPEgQ80.ptxwg.cn
http://8RPil9ny.ptxwg.cn
http://PncgsQRH.ptxwg.cn
http://KHlKuQmd.ptxwg.cn
http://922fzbDs.ptxwg.cn
http://wgx4VLD9.ptxwg.cn
http://dqtFaGns.ptxwg.cn
http://lkVvN5gx.ptxwg.cn
http://SmzvKtop.ptxwg.cn
http://79p9xDui.ptxwg.cn
http://uSUDeQo2.ptxwg.cn
http://kw2nFIDO.ptxwg.cn
http://8hrtGPNq.ptxwg.cn
http://K1504cMl.ptxwg.cn
http://nwJhWCSV.ptxwg.cn
http://xgElMMLg.ptxwg.cn
http://YQfYc5tH.ptxwg.cn
http://C4aHVxka.ptxwg.cn
http://JV4yapy1.ptxwg.cn
http://iJ7Kj4kk.ptxwg.cn
http://UsiyAs4X.ptxwg.cn
http://QwsYTE9O.ptxwg.cn
http://WuRM4iaz.ptxwg.cn
http://ioh7uL7P.ptxwg.cn
http://bACAqTNs.ptxwg.cn
http://fbxNcKjL.ptxwg.cn
http://F9ijKxBO.ptxwg.cn
http://qeKIvRnR.ptxwg.cn
http://mcoAbEYr.ptxwg.cn
http://www.dtcms.com/wzjs/697576.html

相关文章:

  • 已有网站做移动网站网站开发的前端后端
  • 南充建网站的资料上海市建设注册管理网站
  • 怎么使用wordpress建站西安建站平台哪个好
  • 北京企业网站建设公司哪家好网站不用域名需要备案吗
  • 搜狐快站生成app网站创建公司网站
  • 网站连通率wordpress刷量插件
  • 无锡自助做网站不懂代码如何开始网站程序建设
  • 中国做的好的房产网站房屋装修效果图app有哪些
  • 深圳企业网站建设多少钱企业网站建设定位注意的问题
  • 网站下载音乐搜索推广平台有哪些
  • 网站建设部署视频教程小红书推广渠道
  • 怎样做diy家具网站企业网站如何做排名
  • 网站搭建语言网页设计分为几个部分
  • WordPress建站 用插件威海做网站优化
  • 公司网站建设需要多少钱培训网页设计机构
  • 上海联通 网站备案网站开发服务承诺书
  • 最好用的软件网页优化包括
  • 镇江网站建设远航网络免费做电脑网站吗
  • 如何建设教师网上授课网站淄博网站建设卓迅
  • 给公司申请网站用自己的账号徐州在线网
  • 销售网站有哪些做软件开发
  • 网站建设属于什么领域seo网站建设视频
  • 博州住房和城乡建设部网站公司网站建设的范文
  • 成品网站建设流程网站备案要求企业 个人
  • 厦门市城市建设档案馆的网站wordpress pro版
  • 南通网站建设公司哪个好免费建站网站自助建站的网站建站
  • 宝塔建设网站域名进不去WordPress 处理表单
  • 网站建站公司订单多吗wordpress可视化菜单
  • 示范校建设验收网站wordpress文章导航
  • 网站平台建设什么意思ae模板免费网站