const对象一旦创建后其值不能改变,则必须初始化,const初始化可以是表达式,可以是值,对象,这是与引用初始化有些不同的地方。在不改变const内容的情况下,可以用const对象取初始化一个非const对象。可以把引用绑定到const对象上,这称为常量引用,常量引用不能修改其值,不能用一个常量引用去初始化一个非常亮引用。

#include<iostream>int main()
{int a=10;const int &a1=a;const int &a2=12;const int &a3=a*3;// int &a4=a1*2;错误,非常量引用不能用常亮引用进行初始化std::cout<<a1<<a1<<a3<<std::endl;const int b=12;//const int b1;错误,常量必须进行初始化std::cout<<b<<std::endl;return 0;}

打印:101230

12

顶层const和底层const

include<iostream>int main()
{int a=10,b=5;const int *p=&a;//从右往左读,指针常量,这里是可以改变p的值,p是一个指针,相当于可以改变p的指向,不能通过p来改变a的值p=&b;std::cout<<*p<<std::endl;int *const p1=&a;//常量指针,不能改变p1的值,就是不能改变p1的指向,但可以通过p1改变a的值,都是针对于指针变量而言*p1=20;std::cout<<a<<std::endl;return 0;
}

顶层const就是常量指针,底层const就是指针常量

C++中的const相关推荐

  1. c/c++中的const

    关于const能否修改 c语言 #include <stdio.h> int main() {const int i = 10;//const int i; //错误,const变量必须在 ...

  2. C++中的const关键字(zz)

    [补充]mutable关键字 有时我们希望类的数据成员即使在const成员函数中,依然是可以修改的,这时就可以把它们声明为mutable来实现.这样的应用,比如记录各种操作的调用次数,这时,即使在co ...

  3. C++中的const成员函数

    文章目录 1 C++中的const成员函数 1.1 const成员函数的使用 1.2 同名的const成员函数和非const成员函数构成重载关系 2 mutable关键字 1 C++中的const成员 ...

  4. C++中的const数据成员

    文章目录 1 C++中的const数据成员 1.1 const数据成员的初始化方式 1 C++中的const数据成员 1.1 const数据成员的初始化方式 对于const数据成员来说,初始化方式主要 ...

  5. 如何在 C# 中使用 const,readonly,static

    平时在开发时经常会用到 const,readonly,static 关键字,可以肯定这些关键词是完全不同的概念,但有时候他们在用法上很相似以至于在场景中不知道选择哪一个,这篇文章我们就来讨论 C# 中 ...

  6. java final const_Java 中的final 和C++ 中的const 有什么区别?

    Java的Final看起来和C/C++的Const有几分相似,但又有很多不同 Java中的final有三种主要用法: (1)修饰变量: final变量是不可改变的,但它的值可以在运行时刻初始化,也可以 ...

  7. c+const_如何在C ++中使用const? 初学者指南

    c+const Hey, folks! In this tutorial, we will be focusing on const in C++. 嘿伙计! 在本教程中,我们将重点介绍C ++中的c ...

  8. 【c++】c++中顶层const与底层const

    首先看下定义 顶层const是指   const修饰的是指针,即此指针是常量指针,一旦指向某个对象,则不能指向其他对象 底层const是指  const修饰的是指针所指向的对象为常量,不能通过指针去修 ...

  9. 一文带你理顺C++中的const

    c++中的const是一个很强大的助手,它允许你指定一个语义约束,表明某一个值不应该被更改,编译器会帮你强制执行这个约束. const修饰指针 const可以修饰变量,数组,指针,函数,对象等等,几乎 ...

  10. c++中的const关键字

    1.const的符号表机制探究 c语言中的const是一个冒牌货,c++中的const才是一个真正的常量.原因分析:c语言中的const将重新分配一块内存空间.c++编译器对const关键字做了特殊处 ...

最新文章

  1. 从网页的控制台登录云服务器ECS中的Ubuntu系统
  2. Hive运行方式、gui
  3. 完整的维纳滤波器Matlab源程序
  4. CTF-RSA解密脚本
  5. invalid signature_php,微信开发JSSDK遇到的问题 config:invalid signature
  6. HBase shell 命令介绍
  7. Spark精华问答 | Spark的三种运行模式有何区别?
  8. 华为 Mate 40 系列搭载麒麟 9000 芯片;短视频平台 Quibi 宣布关闭;Node.js 15 正式版发布|极客头条
  9. CodeVS 1031 质数环(DP)
  10. 免费英文文献下载攻略
  11. TypeScript 获取时间戳
  12. Linux磁盘阵列(RAID0、RAID1、RADI5、 RAID6、RAID1+0)
  13. 软件设计实战:基于Java的俄罗斯方块游戏【完整版】
  14. 2021GPLT L1-8 乘法口诀数列(JAVA语言)
  15. 数学Ⅰ基础复习(六)
  16. Linux date命令-d、--date选项接受的时间描述字符串的格式详解
  17. 2021年9月PMP考试新鲜出炉,如何查询成绩?
  18. 机器学习:最大熵模型
  19. cmd命令让计算机崩溃,十大危险的cmd指令,谨慎使用
  20. echarts,柱状图配置,legend

热门文章

  1. 钉钉、阿里云和PaaS平台的整合开发
  2. vue3.0以上关于打包后出现空白页和路由不起作用
  3. PHP array_intersect_uassoc
  4. cmake编译android平台的libPoco
  5. (HDU)1056 --HangOver( 悬住)
  6. 强大js web甘特图制作之甘特图的日历
  7. 利用TcpClient TcpListener 实现发送图片
  8. 多租户数据库性能测试手册
  9. 用户进程与内核进程通信netlink实例
  10. 用外观判断论文好坏?这位顶会领域主席的论文被自己的AI审稿系统拒绝了