C++ const

Const

class A
{
private:
    const int a;
public:
    A():a(0){};
    A(int x):a(x) {};

    int getValue();
    int getValue() const;
};



void function1(const int val);//参数不可变
void function2(const int* val);//传入的是常量,不可变,不能在函数中更改val
void function3(char* const var);//常指针,不可变,即无法通过指针迭代var
void function4(const int& var); //引用的是常量

const int function5();//返回一个常量
const int* function6();//返回一个指向常量的指针
int* const function7();//返回一个指向变量的常指针




int main()
{
    A b;
    const A a;
    const A *p = &a;//不能通过p更改a


    char greeting[]="Hello";
    char *p1 = greeting;
    const char *p2 = greeting;//不能通过p2更改数组
    char* const p3 = greeting;//不能更改指针p3
    const char* const p4 = greeting;//不能更改指针p4,也不能通过p4更改greeting
    



    return 0;
}

 

posted @ 2019-08-16 15:55  Z_W  阅读(75)  评论(0)    收藏  举报