C++ में mutable कीवर्ड की आवश्यकता क्यों है? केवल const-मेथड्स के लिए?
सभी को नमस्ते! मैं C++ सीख रहा हूँ और मुझे `mutable` कीवर्ड मिला। पाठ्यपुस्तकों में लिखा है कि यह `const`-मेथड्स में भी क्लास के सदस्य को बदलने की अनुमति देता है। लेकिन मुझे यह अजीब लगता है — एक मेथड में जो कॉन्स्टेंट के रूप में चिह्नित है, कुछ भी बदलने की आवश्यकता क्यों है? क्या यह कॉन्स्टेंटनेस के मूल विचार का उल्लंघन नहीं करता?\n\nयहाँ एक उदाहरण है जो मैंने लिखा:\n\n```cpp\nclass Counter {\nprivate:\n mutable int accessCount = 0;\n int value = 0;\npublic:\n int getValue() const {\n accessCount++; // mutable के कारण काम करता है\n return value;\n }\n int getAccessCount() const {\n return accessCount;\n }\n};\n```\n\nमैं समझता हूँ कि `accessCount` गेटर कॉल की गणना करने वाला काउंटर है। लेकिन क्या `getValue()` मेथड से `const` हटा देना बेहतर नहीं होगा? या `const_cast` का उपयोग करना? मुझे लगता है कि `mu