zoukankan      html  css  js  c++  java
  • c++ const

    指针的类型必须与其所指对象类型一致
    允许指向常量的指针指向一个非常量对象
    获取的,改变值的;
    指向常量的指针没规定其所指的对象必须是一个常量
    所谓指向常量的指针仅仅要求不能通过该指针改变对象值,而没有规定那个对象的值不能通过其他突进 改变
    所谓指向常量的指针或引用,指向常量,自觉的不去改变所指对象的值;
    const指针
    指针是对象而引用不是,指针本身可以定为常量
    常量指针必须初始化const pointer
    常量 指针一旦初始化,它的值-存放在常量指针中的值-地址就不能再改变
    把*放在const关键字之前用以说明指针是常量
    不变的是指针本身的值而非指向的那个值
    

      

    int errNumb = 0;
    int *const curErr = &errNumb;    //curErr将一直指向errNumb
    const double pi = 3.14;
    const double *const pip = π    pip是一个指向常量对象的常量指针
    弄清楚声明含义最行之有效的办法--从右往左读
    指针本身是一个常量并不意味不能通过指针修改其所指向的值,不能改变的是此指针不能再指向别的对象
    pip是一个指向常量的常量指针
    则不论所指的对象值还是pip自己存储的地址值都不能改变
    指针本身是不是常量以及指针所指的是不是常量就是两个相互独立的问题
    指针本身是一个对象,它又可以指向另外一个对象
    指针本身是不是常量以及指针所指的是不是一个常量就是两个相互独立的问题
    顶层const(top-level const)表示指针本身是一个常量
    底层const(low-level const)表示
    底层const与指针和引用
    int i = 0;
    int *const p1 = &i;    //指针本身常量,指针不能再指向别的对象
    const int ci = 42;    
    一个对象是不是常量表达式由它的数据类型和初始值共同决定
    将变量申明为constexpr由编译器验证变量的值声明为constexpr变量一定是常量
    尽管不能使用普通函数
  • 相关阅读:
    用Java画QRCode二维码
    Require.js 详细了解
    JAVA下几个问题
    Eclipse中使用Maven创建Web时错误
    Windows下MySQL安装配置与使用
    搭建 LimeSurvey投票调查问卷系统
    服务器常见页面访问返回错误信息
    linux系统使用python监测网络接口获取网络的输入输出
    Linux操作系统知识
    lvs工作原理
  • 原文地址:https://www.cnblogs.com/ruiy/p/6722208.html
Copyright © 2011-2022 走看看