news 2026/4/16 21:44:04

C++之常成员函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++之常成员函数
  • 在C++中,为了禁止成员函数修改成员数据的值,可以将它设置为常成员函数
  • 设置方法就是在函数体之前加上const关键字
classX{voidfunc(参数1, 参数2...)const{}};
#include<iostream>usingnamespacestd;classStudent{private:intage;string name;public:Student(intage,conststring&name){this->age=age;this->name=name;}voidwhoami(void)const{age++;// 引发报错cout<<"我是: "<<name<<" 我今年: "<<age<<endl;}};intmain(void){Students1(22,"张三");s1.whoami();return0;}
  • 常函数的实现本质:
    • 常函数中的this指针是常指针,所以不能在常函数中修改成员变量
classA{public:voidprint(void)const{...}//编译前voidprint(constA*this){...}//编译后};
  • 常函数的使用注意事项:
    • 常对象只能调用常函数,非常对象既可以调用非常函数 也可以调用常函数
    • 函数名和形参表相同的成员函数,常版本和非常版本可以构成重载
      • 常对象只能选择常版本
      • 非常对象优先选择非常版本
    • 被mutable修饰的成员可以常函数中修改
#include<iostream>usingnamespacestd;classA{public:A(intmm=0,intnn=0):m(mm),n(nn){}voidfun(void){//void func(A * this)cout<<__func__<<endl;}voidbar(void)const{cout<<__func__<<endl;}voidfun(void)const{//void func(const A *this)cout<<__func__<<"const"<<endl;m++;//n++;//语法错误}private:mutableintm;intn;};intmain(void){A a;a.fun();a.bar();constA b;//b.fun(); //语法错误b.bar();return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:46:34

AI净界-RMBG-1.4保姆级教学:从GitHub源码编译到Docker镜像构建

AI净界-RMBG-1.4保姆级教学&#xff1a;从GitHub源码编译到Docker镜像构建 1. 为什么需要自己编译RMBG-1.4镜像 市面上已有不少一键式背景去除工具&#xff0c;但真正用过的人会发现&#xff1a;很多服务要么限制图片尺寸&#xff0c;要么处理发丝边缘时毛边明显&#xff0c;…

作者头像 李华
网站建设 2026/4/15 16:31:41

InstructPix2Pix入门指南:设计师转型AI提示工程师的5个关键认知

InstructPix2Pix入门指南&#xff1a;设计师转型AI提示工程师的5个关键认知 1. 从PS高手到“指令指挥官”&#xff1a;一场修图范式的悄然转移 你有没有过这样的时刻&#xff1a; 花半小时调色&#xff0c;结果客户说“再暖一点&#xff0c;但别太黄”&#xff1b; 精修人像3…

作者头像 李华
网站建设 2026/4/16 20:24:57

Swin2SR防炸显存黑科技:24G显卡也能处理4K图片的秘诀

Swin2SR防炸显存黑科技&#xff1a;24G显卡也能处理4K图片的秘诀 你有没有遇到过这样的窘境&#xff1a; 明明手头有一张512512的AI草稿图&#xff0c;想放大成高清海报打印&#xff0c;却在点击“超分”按钮后—— GPU显存瞬间飙红&#xff0c;服务直接崩溃&#xff0c;日志里…

作者头像 李华
网站建设 2026/4/16 13:05:04

ESP32-S3 PSRAM扩展配置:一文说清连接原理

ESP32-S3 PSRAM扩展实战手记&#xff1a;从焊错引脚到稳定跑满8MB的全过程你有没有试过——LVGL界面一动就卡顿&#xff0c;TensorFlow Lite模型加载直接失败&#xff0c;malloc()返回空指针&#xff0c;串口只打出半句日志就哑火&#xff1f;我第一次把APS6404L焊上ESP32-S3开…

作者头像 李华
网站建设 2026/4/16 21:31:06

Raspberry Pi OS 64位下ROS2安装超详细版教程

Raspberry Pi 5 ROS2 Humble&#xff1a;在 Bookworm 64 位系统上跑通一个真正能干活的机器人节点你刚拿到那块闪着金属光泽的树莓派5&#xff0c;拆开散热片、插好TF卡、烧入最新版 Raspberry Pi OS Bookworm 64-bit —— 然后兴冲冲敲下sudo apt install ros-humble-desktop…

作者头像 李华
网站建设 2026/4/16 14:22:23

Python基于Vue的健身房管理系统设计与实现 django flask pycharm

这里写目录标题项目介绍项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示收藏关注不迷路&#xff01;&#xff01;需要的小伙伴可以发链接或者截图给我 项目介绍 随着时代的…

作者头像 李华