zoukankan      html  css  js  c++  java
  • OOP 1.2 const关键字

    1.2 const关键字

    1、常量 指针常量

    定义常量:const 类型 =值
    定义指针常量:const *类型=值

    • 常量指针不可通过常量指针修改其指向的内容
    • 可直接修改其指向的内容
    • 常量指针的指向可以变化
    • 不可以把常量指针赋值给非常量指针(语法规定:const指针指向的地方p1倾向于该处尽量不要修改,若赋值给非常量p2,则以后可以通过修改p2指向内容修改p1,产生不安全因素)
    • 可以把非常量指针赋值给常量指针
    • 可以用强制类型转化 把常量指针赋值给非常量指针
      e.g.
    int n,m;
    const *p=&n;
    *p=5//illegal 常量指针不可通过常量指针修改其指向的内容
    n=4//OK 可直接修改其指向的内容
    p=&m;//OK 常量指针的指向可以变化
    
    const int *p1;int *p2;
    p1=p2;//OK 可以把非常量指针赋值给常量指针
    p2=p1;//illegal 不可以把常量指针赋值给非常量指针
    p2=(int *)p1;//OK 强制类型转换 合法
    

    2、实例:函数参数作为常量指针

    • 可避免函数内部不小心改变参数指针所指向的内容
      e.g.
    void f(const char *p)
    {
        strcpy(p,"this");//illegal strspy传入的第一个参数为char* 型,用const char给其赋值为非法,编译器报错
        printf("%s",p);//OK
    }
    

    3、常引用

    • 不能通过常引用修改其引用的变量
      e.g.
    int n;
    const int &r=n;
    r=5;//illegal 不能通过常引用修改其引用的变量
    n=4;//OK
    
  • 相关阅读:
    android实现计时器(转)
    单例模式和静态类
    ADC电阻分压采集相关知识
    什么是中断?
    什么是时钟芯片 ?
    单片机与PLC的区别?
    FreeRTOS常用函数
    ADC采集电流相关知识
    CA和SSL证书介绍
    物联网设备的安全性预防(转)
  • 原文地址:https://www.cnblogs.com/fzu-031702148/p/8441587.html
Copyright © 2011-2022 走看看