理想 == 离乡
慢点_慢点_再慢点__静点_静点_再静点

1. const 关键字 4 种常见的类型

1.1 不能通过指针变量修改其指向的值。

    const int *pa = NULL;  
    int const *pa = NULL; // 这两种写法定义的指针变量的类型是一样的。
    int age = 25
    int *pa = &age;

    *pa = 30;  /* 编译错误,在 const int * 类型下, 不能通过指向 age 的指针来修改 age 的值 */
    age = 30;  /* 正确,可以直接对变量进行操作 */

1.2 不能修改指针变量本身的值。

    int * const pb = NULL;      
    int age = 25
    int age_man = 30;
    int *pb = &age;  /* 1. 第一次初始化可以 */

    *pb = 30;  /* 正确,可以通过指针变量修改其指向的值 */
    age = 30;  /* 正确,可以直接对变量进行操作 */
    pb = &age_man;  /*2. 第二次不能修改指针变量本身的值 */

1.3 既不能修改指针变量本身的值,也不能通过指针变量修改其指向的值。

    const int * const pc = NULL;

1.4 C++ 中的用法

  在类的成员函数中 getXxxx() 之类的方法加 const 关键字进行修饰。譬如: int getAge() const
  
  class Person
  {

private:
    char *m_name;
    int m_age;

public:

    void printInfo(void)
    {
        printf("m_name=%s, m_age=%d\n", m_name, m_age);
    }

    int getAge() const
    {
        return m_age;
    }

    int setAge(int age)
    {
        if (age < 0 || age > 150)
        {
            this->m_age = 0;
            return -1;
        }

        this->m_age = age;
    }
};

2. Why(为什么使用 const 关键字)

  • 提高程序的可读性:const 修饰的变量一般只是作为入参(左值),一般只是对该变量进行读操作。
  • 提高程序的可靠性: 可以把运行时的错误提前到编译的时候。
posted on 2022-03-14 00:41  hwfre  阅读(35)  评论(0编辑  收藏  举报