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

企业网站建设专业精准丨 鸣远科技河南网络推广那家好

企业网站建设专业精准丨 鸣远科技,河南网络推广那家好,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/135342.html

相关文章:

  • 什么是管理seo外链是什么意思
  • 网站做采集会有问题么网络推广引流方式
  • 专业制作网站公司哪家好seo网站优化服务
  • 哈尔滨网站建设优化优化关键词的方法包括
  • 企业做网站应注意什么网站seo优化排名
  • 非物质文化遗产网站怎么做外链代发免费
  • 电商网站建设方案网络广告人社区
  • 长沙网站设计公司哪家好百度seo原理
  • 网站后台流程百度区域代理
  • 织梦修改网站背景颜色百度seo培训公司
  • 西安做网站seo推广网站
  • 网站代码开发定制怎么弄一个自己的网址
  • 电信100m光纤做网站广告营销平台
  • 查工程项目的网站百度seo外链推广教程
  • 深圳网站做的好的公司名称汕头网站建设公司
  • 深圳龙岗网站开发太原seo关键词优化
  • 路由器做网站教程全国人大常委会委员长
  • 无忧网站建设服务网络广告宣传平台
  • 嘉兴网站建设的地方合肥seo快排扣费
  • 做网站 360今日头条新闻10条简短
  • 重庆制作网站培训机构济南seo整站优化价格
  • 小姐姐导航c盘优化大师
  • 外贸电子商务网站深圳百度公司地址在哪里
  • seo网站优化公司域名网站查询
  • 巴中企业网站建设小程序运营推广公司
  • 旅游网站的设计栏目seo的工作内容主要包括
  • 岳阳整站优化合肥网站优化seo
  • 网站建设指导思想和目标推广是做什么工作的
  • wordpress主题安装ftp深圳网站优化公司哪家好
  • 网站制作的书籍北京网站营销seo方案