news 2026/4/16 0:49:17

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/4/15 13:49:11

突破60帧限制:Genshin FPS Unlocker 7大核心技术与实战配置指南

突破60帧限制&#xff1a;Genshin FPS Unlocker 7大核心技术与实战配置指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 高帧率游戏体验的技术痛点与解决方案 为什么《原神》玩家普遍…

作者头像 李华
网站建设 2026/4/15 14:42:37

智谱AI GLM-Image体验报告:Web界面生成高清艺术图

智谱AI GLM-Image体验报告&#xff1a;Web界面生成高清艺术图 你有没有试过这样的情景&#xff1a;脑子里浮现出一幅画面——“月光下的青瓷茶盏&#xff0c;釉面泛着幽蓝微光&#xff0c;旁边散落几片银杏叶&#xff0c;背景是宋代水墨屏风”——可翻遍图库找不到&#xff0c…

作者头像 李华
网站建设 2026/4/8 22:05:20

Janus-Pro-7B新手入门:3步完成Ollama部署与简单调用

Janus-Pro-7B新手入门&#xff1a;3步完成Ollama部署与简单调用 1. 为什么Janus-Pro-7B值得你花5分钟试试&#xff1f; 你有没有遇到过这样的情况&#xff1a;想让AI看懂一张产品图并生成营销文案&#xff0c;或者上传一张设计草图让它描述细节、提出优化建议&#xff1f;传统…

作者头像 李华
网站建设 2026/4/15 15:28:08

G-Helper:华硕笔记本轻量级性能控制工具效率提升实测

G-Helper&#xff1a;华硕笔记本轻量级性能控制工具效率提升实测 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址…

作者头像 李华
网站建设 2026/4/15 15:29:50

Unity游戏本地化:Hunyuan-MT 7B多语言资源生成方案

Unity游戏本地化&#xff1a;Hunyuan-MT 7B多语言资源生成方案 1. 游戏出海卡在翻译这道坎上 上周和一个做独立游戏的朋友聊天&#xff0c;他刚把一款像素风RPG上架Steam&#xff0c;中文版上线三天就卖了两百多份。可当他点开后台的销售数据&#xff0c;发现欧美区的转化率只…

作者头像 李华
网站建设 2026/4/15 15:27:58

lite-avatar形象库GPU算力适配:支持CUDA 11.8+与ROCm 5.7双生态部署

lite-avatar形象库GPU算力适配&#xff1a;支持CUDA 11.8与ROCm 5.7双生态部署 1. 什么是lite-avatar形象库&#xff1f; lite-avatar形象库不是一款模型&#xff0c;也不是一个训练框架&#xff0c;而是一个开箱即用的数字人“形象资产包”。你可以把它理解成数字人世界的“…

作者头像 李华