C++ में क्लास मेम्बर फंक्शन के अंत में const का क्या अर्थ है?
सभी को नमस्कार! मैंने Python और Java के बाद C++ सीखना शुरू किया है, और मुझे एक अजीब सिंटैक्स मिला। दूसरे लोगों के कोड में, मैं अक्सर देखता हूँ कि क्लास मेम्बर फंक्शन की घोषणा के बाद कीवर्ड `const` लगा होता है। उदाहरण के लिए:
```cpp
class MyClass {
public:
int getValue() const; // यहाँ अंत में const है
void setValue(int v);
};
```
मैं समझता हूँ कि वेरिएबल से पहले `const` का मतलब है कि वेरिएबल को बदला नहीं जा सकता। लेकिन पैरामीटर लिस्ट के *बाद* `const` का क्या मतलब है? मैंने इसके बिना लिखने की कोशिश की — कंपाइलर ने कोई त्रुटि नहीं दी। तो इसकी आवश्यकता क्यों है? क्या यह प्रभावित करता है कि मैं फंक्शन को कैसे कॉल कर सकता हूँ? क्या इसे किसी भी फंक्शन के लिए लगाया जा सकता है? या केवल गेटर्स के लिए?
मैंने एक सरल क्लास लिखा:
```cpp
class Counter {
public:
Counter() : count(0) {}
int getCount() const { return count; } // काम करता है
void increment() { count++; } // काम करता है
private:
int count;
};
```
लेकिन जब मैंने `void increment() const { count++; }` लिखने की कोशिश की — तो कंपाइलर ने त्रुटि दी। क्यों?