溫馨提示×

c++ const作用是什么

c++
小億
83
2024-09-03 20:34:05
欄目: 編程語言

在C++中,const關鍵字主要有以下幾個作用:

  1. 聲明常量:使用const可以聲明一個常量,表示該變量的值在程序運行過程中不能被修改。例如:

    const int kConstantValue = 42;
    

    在這里,kConstantValue是一個常量,其值在編譯時確定并且不能被修改。

  2. 保護數據成員:在類中,使用const可以保護數據成員,防止在類的成員函數中被意外修改。例如:

    class MyClass {
    public:
        void SetValue(int value) {
            value_ = value;
        }
    
        int GetValue() const {
            return value_;
        }
    
    private:
        int value_;
    };
    

    在這個例子中,GetValue()函數被聲明為const,這意味著在這個函數內部不能修改類的任何數據成員(除非它們被聲明為mutable)。

  3. 函數重載const可以用于函數重載。通過在成員函數的聲明后添加const關鍵字,可以創(chuàng)建一個只能在常量對象上調用的函數版本。例如:

    class MyClass {
    public:
        void Print() {
            std::cout << "Non-const version"<< std::endl;
        }
    
        void Print() const {
            std::cout << "Const version"<< std::endl;
        }
    };
    

    在這個例子中,MyClass類有兩個名為Print的重載函數,一個是非const版本,另一個是const版本。當在非const對象上調用Print時,將調用非const版本;當在const對象上調用Print時,將調用const版本。

  4. 指針和引用const還可以用于限制指針或引用的修改。例如:

    • const int* p:指向常量的指針,不能通過p修改所指向的值。
    • int* const p:常量指針,不能修改p的值,但可以通過p修改所指向的值。
    • const int* const p:指向常量的常量指針,既不能修改p的值,也不能通過p修改所指向的值。
    • const int& r:常量引用,不能通過r修改所引用的值。

總之,const關鍵字在C++中主要用于聲明常量、保護數據成員、實現函數重載以及限制指針和引用的修改。這些用法有助于提高代碼的安全性和可讀性。

0