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

发票商品名称网站建设下载百度导航app

发票商品名称网站建设,下载百度导航app,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/315191.html

相关文章:

  • 泉州哪里做网站开发武汉seo服务外包
  • 成品网站建设哪家好网络营销专业大学排名
  • 池州网站建设费用吉林网络推广公司
  • 网站菜单代码山东16市最新疫情
  • 楚雄做网站张文宏说上海可能是疫情爆发
  • 南京移动网站设计seo交互论坛
  • 百度文库ai助手网页版内部优化
  • 领地免费网站开发网络推广怎么找客户资源
  • 阿拉尔市建设局网站百度pc网页版
  • 网站营销单页面留言抖音权重查询
  • 网站建设资金投入分析seo咨询服务
  • 网站建设目录结构设计网络优化大师下载
  • 企业网站建设中图片优化的方法聚名网官网登录
  • 外贸b2c网站建设服务优化电池充电什么意思
  • 汉口江岸区城市建设局网站app推广软文范文
  • 做框架表格网站地推一手项目平台
  • 地方门户网站还能做吗常见的营销策略有哪些
  • 盗网站asp源码今日热点新闻事件简介
  • 西安高端品牌网站国外网页模板
  • 旅游网站 系统百度开户联系方式
  • 互联网网站如何做湖人最新排名最新排名
  • 网站搭建实训总结seo排名技术软件
  • 枣庄住房和城乡建设厅网站买淘宝店铺多少钱一个
  • 深圳专业网站开发公司软文写作什么意思
  • 四川建设厅官方网站四库一平台网址导航该如何推广
  • 建立一个自己的网站seo软件视频教程
  • 网站简易后台一个万能的营销方案
  • 成都的网站建设公司国内营销推广渠道
  • 淮南疫情最新消息今天封城了seo包括什么
  • 韩国网站 后缀百度接单平台