zoukankan      html  css  js  c++  java
  • const限定符

    1.顶层const和底层const

    顶层const指的是变量本身是const,即变量本身是常量;

    例如 const int a = 1; 表示变量a是常量,不可更改a的值;

    再例如指针情况,int *const p = &x; 表示整形指针变量p是一个常量, 即p的值是不变的,也就是p会一直指向某一个地址,不可更改p的指向;

    底层const指的是变量引用(绑定)或者指向的对象是const;

    这里需要注意,所谓的引用或者指定的对象是const只是被const限定的变量自认为他引用或者指向的对象是常量(p63)

    例如 const int &a = b; 表示a认为他引用的对象b是常量,但是b可以不是常量,b的值也许可以被修改,但是a绝对不会去修改b的值

    再例如 const int p = &a; 不允许通过指向a的指针p间接的去修改a,但是p的指向可以改变,也就是说p现在指向a,下一步可以令他指向其他对象

    比较特殊的是指针既可以是底层const也可以是顶层const也可以是二者皆是

    例如 const int *const p  = &a; 第一个const表示底层const, 第二个cosnt表示顶层const

  • 相关阅读:
    关于MFC库和CRT库冲突的分析
    C++ Traits技术
    C/C++的参数传递机制
    C++与正态分布
    前端JavaScript
    python 前端 css
    python 前端 html
    MySQL 数据库
    网络编程 生产者消费者模型 GiL

  • 原文地址:https://www.cnblogs.com/max88888888/p/10125264.html
Copyright © 2011-2022 走看看