news 2026/9/10 22:23:23

17. mutable

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
17. mutable

1.mutable 的核心用法

2.mutable 的使用限制


1.mutable 的核心用法

1).回顾:const成员函数的默认规则,类的const成员函数中,默认不能修改任何普通的成员变量
#include <iostream>#include <string>usingnamespacestd;classPerson{private:stringname;intaccess_count;// 访问计数:记录getName被调用的次数public:Person(stringn):name(n),access_count(0){}// const成员函数:默认不能修改成员变量stringgetName()const{access_count++;// 错误!const函数不能修改普通成员变量returnname;}};intmain(){constPersonp("Alice");cout<<p.getName()<<endl;return0;}

2).mutable的核心用法:豁免const函数的修改限制,给access_count加上mutable修饰后,就能在const成员函数中修改它
#include <iostream>#include <string>usingnamespacestd;classPerson{private:stringname;mutableintaccess_count;// mutable修饰:允许const函数修改public:Person(stringn):name(n),access_count(0){}// const成员函数:可以修改mutable变量stringgetName()const{access_count++;// 合法!mutable变量不受const限制cout<<"getName被调用了 "<<access_count<<" 次"<<endl;returnname;}// 获取访问计数(辅助函数)intgetCount()const{returnaccess_count;}};intmain(){constPersonp("Alice");// const对象,只能调用const成员函数cout<<p.getName()<<endl;// 输出:getName被调用了 1 次 → Alicecout<<p.getName()<<endl;// 输出:getName被调用了 2 次 → Alicecout<<"总调用次数:"<<p.getCount()<<endl;// 输出:2return0;}

2.mutable 的使用限制

a."只能修饰类的非静态成员变量":不能修饰全局变量,局部变量,函数参数,静态成员变量(static),const变量

b.线程安全:如果mutable变量被多线程访问,需要手动加锁(const函数不保证线程安全)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 10:20:55

一键部署:BGE-Large-Zh中文语义分析工具使用指南

一键部署&#xff1a;BGE-Large-Zh中文语义分析工具使用指南 你是否试过把“苹果公司股价”和“红富士苹果多少钱一斤”扔进同一个搜索框&#xff0c;结果系统却一脸茫然&#xff1f;是否在搭建本地知识库时&#xff0c;反复调试向量模型却卡在环境配置、GPU识别或中文分词适配…

作者头像 李华
网站建设 2026/9/3 6:53:32

Janus-Pro-7B保姆级部署教程:从安装到多模态应用

Janus-Pro-7B保姆级部署教程&#xff1a;从安装到多模态应用 1. 为什么你需要Janus-Pro-7B 你有没有遇到过这样的问题&#xff1a;想让AI既看懂一张产品图&#xff0c;又能根据这张图生成营销文案&#xff1b;或者输入一段文字描述&#xff0c;直接生成配套的配图和短视频脚本…

作者头像 李华
网站建设 2026/9/9 14:14:54

HY-Motion 1.0企业实践:工业培训VR系统中标准操作流程动作建模

HY-Motion 1.0企业实践&#xff1a;工业培训VR系统中标准操作流程动作建模 在制造业一线&#xff0c;新员工掌握设备启停、安全巡检、故障处置等标准操作流程&#xff08;SOP&#xff09;&#xff0c;往往需要反复观看视频、跟随师傅实操、再经多次考核——平均耗时72小时&…

作者头像 李华
网站建设 2026/9/3 7:28:37

IndexTTS-2-LLM中文合成效果差?语言模型微调实战教程

IndexTTS-2-LLM中文合成效果差&#xff1f;语言模型微调实战教程 1. 为什么你的IndexTTS-2-LLM中文听起来“怪怪的” 你是不是也遇到过这种情况&#xff1a;刚部署好IndexTTS-2-LLM&#xff0c;输入一段中文&#xff0c;点下“&#x1f50a; 开始合成”&#xff0c;结果听出来…

作者头像 李华
网站建设 2026/9/3 5:49:44

告别重复肝度!AI助手如何重构你的原神体验

告别重复肝度&#xff01;AI助手如何重构你的原神体验 【免费下载链接】better-genshin-impact &#x1f368;BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动派遣 | 一键强化 - UI Automation Testing Tools For Genshin Im…

作者头像 李华
网站建设 2026/9/3 7:28:42

腾讯开源翻译模型Hunyuan-MT-7B:5分钟搭建你的翻译API

腾讯开源翻译模型Hunyuan-MT-7B&#xff1a;5分钟搭建你的翻译API 1. 为什么你需要这个模型——不是又一个“能翻就行”的翻译工具 你有没有遇到过这些场景&#xff1a; 客户发来一封藏语合同&#xff0c;你翻遍所有在线服务都找不到支持&#xff1b;团队要本地化一款App到哈…

作者头像 李华