news 2026/4/18 12:28:49

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/18 9:13:58

YOLO X Layout在Linux系统下的部署与优化指南

YOLO X Layout在Linux系统下的部署与优化指南 1. 为什么需要在Linux上部署YOLO X Layout 文档处理这件事&#xff0c;很多人以为只是把PDF转成文字就完事了。但实际工作中&#xff0c;一份合同、一页科研论文、一张财务报表&#xff0c;真正难的不是识别单个字&#xff0c;而…

作者头像 李华
网站建设 2026/4/17 12:46:25

颠覆认知!解锁MusicFree插件的隐藏玩法

颠覆认知&#xff01;解锁MusicFree插件的隐藏玩法 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 你是否曾因音乐播放器功能单一而烦恼&#xff1f;是否想突破平台限制聚合全网音乐资源&#xff…

作者头像 李华
网站建设 2026/4/18 1:11:22

FLUX小红书极致真实V2图像生成工具Linux命令大全

FLUX小红书极致真实V2图像生成工具Linux命令大全 1. 工具定位与使用前提 FLUX小红书极致真实V2不是独立软件&#xff0c;而是一个专为小红书风格人像优化的LoRA模型&#xff0c;需要配合Stable Diffusion生态运行。它在Linux服务器上通常以WebUI&#xff08;如ComfyUI或A1111…

作者头像 李华
网站建设 2026/4/18 8:38:53

ChatTTS GPU算力高效利用:TensorRT加速推理,延迟降低至380ms以内

ChatTTS GPU算力高效利用&#xff1a;TensorRT加速推理&#xff0c;延迟降低至380ms以内 1. 为什么语音合成的延迟真的很重要&#xff1f; 你有没有试过在对话系统里输入一句话&#xff0c;等了快两秒才听到声音&#xff1f;那种卡顿感&#xff0c;就像视频通话时对方突然“掉…

作者头像 李华
网站建设 2026/4/18 11:55:51

从零开始:用lite-avatar形象库构建数字人对话应用

从零开始&#xff1a;用lite-avatar形象库构建数字人对话应用 1. 什么是lite-avatar形象库 lite-avatar形象库不是一段代码&#xff0c;也不是一个模型训练框架&#xff0c;而是一套开箱即用的数字人“演员阵容”。它基于HumanAIGC-Engineering/LiteAvatarGallery项目构建&am…

作者头像 李华
网站建设 2026/4/18 8:52:08

雯雯的后宫-造相Z-Image体验:快速生成高质量瑜伽女孩图片

雯雯的后宫-造相Z-Image体验&#xff1a;快速生成高质量瑜伽女孩图片 1. 这不是普通AI画图&#xff0c;是专为瑜伽场景优化的视觉生成工具 你有没有试过用AI生成瑜伽相关图片&#xff1f;可能遇到过这些情况&#xff1a;人物比例失调、动作不自然、服装质感假、背景杂乱、光线…

作者头像 李华