C++中const的正確用法

字號(hào):

很多情況下,examda提示:使用const reference作為參數(shù)傳入,進(jìn)行函數(shù)處理。
    舉例如下:
    class TClass {
    public:
    TClass(int i = 1): value(i) {}
    int getIt() const { return value; } //解析點(diǎn)1
    private:
    int value;
    };
    //void print(TClass obj) {
    void print(const TClass& obj) { //解析點(diǎn)2
    cout << obj.getIt() << endl; //解析點(diǎn)3
    }
    int main() {
    TClass a(100);
    print(a);
    return 0;
    }
    正確使用const解析:
    如果在TClass::getIt()成員函數(shù)沒有申明為const的話,則直接在print()函數(shù)中使用const obj,將出現(xiàn)編譯錯(cuò)誤,是因?yàn)榫幾g器不知道getIt()方法會(huì)不會(huì)改變obj這個(gè)對(duì)象,因?yàn)榇撕瘮?shù)參數(shù)對(duì)象申明為const。所以不讓編譯通過。