专栏名称: everystep
记忆是思考的灰烬
目录
相关文章推荐
今天看啥  ›  专栏  ›  everystep

从 const 到 mutable:C++ 中的优雅妥协与设计智慧

everystep  · 公众号  ·  · 2024-11-16 07:00

文章预览

想象一下,在 C++ 的世界里, const 就像是一位严厉的保安大叔 👮,时刻守护着对象的状态不被改变。但是!有时候我们也需要一些"特殊通行证",让某些小动作能够悄悄地进行。这就是我们今天要认识的主角 —— mutable 关键字!🎉 为什么需要 mutable?🤔 当一个成员函数被声明为 const 时,它就像是向编译器立下了"我不会改变任何数据"的军令状。但生活总是充满戏剧性,有时候我们确实需要在不违背承诺的前提下,偷偷地改变一些内部状态。这时候, mutable 就像是一张 VIP 通行证,允许我们在 const 的重重守卫下完成这些"特殊任务"。 来看一个有趣的例子 🎯 想象你是一位侦探,需要记录每天的工作日志,但又不想让别人知道你记了多少条日志。这就是我们的 Logger 类要完成的秘密任务! # include   # include   class   Logger  { public :     Logger( ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览