C++中的const
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相关推荐
- c/c++中的const
关于const能否修改 c语言 #include <stdio.h> int main() {const int i = 10;//const int i; //错误,const变量必须在 ...
- C++中的const关键字(zz)
[补充]mutable关键字 有时我们希望类的数据成员即使在const成员函数中,依然是可以修改的,这时就可以把它们声明为mutable来实现.这样的应用,比如记录各种操作的调用次数,这时,即使在co ...
- C++中的const成员函数
文章目录 1 C++中的const成员函数 1.1 const成员函数的使用 1.2 同名的const成员函数和非const成员函数构成重载关系 2 mutable关键字 1 C++中的const成员 ...
- C++中的const数据成员
文章目录 1 C++中的const数据成员 1.1 const数据成员的初始化方式 1 C++中的const数据成员 1.1 const数据成员的初始化方式 对于const数据成员来说,初始化方式主要 ...
- 如何在 C# 中使用 const,readonly,static
平时在开发时经常会用到 const,readonly,static 关键字,可以肯定这些关键词是完全不同的概念,但有时候他们在用法上很相似以至于在场景中不知道选择哪一个,这篇文章我们就来讨论 C# 中 ...
- java final const_Java 中的final 和C++ 中的const 有什么区别?
Java的Final看起来和C/C++的Const有几分相似,但又有很多不同 Java中的final有三种主要用法: (1)修饰变量: final变量是不可改变的,但它的值可以在运行时刻初始化,也可以 ...
- c+const_如何在C ++中使用const? 初学者指南
c+const Hey, folks! In this tutorial, we will be focusing on const in C++. 嘿伙计! 在本教程中,我们将重点介绍C ++中的c ...
- 【c++】c++中顶层const与底层const
首先看下定义 顶层const是指 const修饰的是指针,即此指针是常量指针,一旦指向某个对象,则不能指向其他对象 底层const是指 const修饰的是指针所指向的对象为常量,不能通过指针去修 ...
- 一文带你理顺C++中的const
c++中的const是一个很强大的助手,它允许你指定一个语义约束,表明某一个值不应该被更改,编译器会帮你强制执行这个约束. const修饰指针 const可以修饰变量,数组,指针,函数,对象等等,几乎 ...
- c++中的const关键字
1.const的符号表机制探究 c语言中的const是一个冒牌货,c++中的const才是一个真正的常量.原因分析:c语言中的const将重新分配一块内存空间.c++编译器对const关键字做了特殊处 ...
最新文章
- 从网页的控制台登录云服务器ECS中的Ubuntu系统
- Hive运行方式、gui
- 完整的维纳滤波器Matlab源程序
- CTF-RSA解密脚本
- invalid signature_php,微信开发JSSDK遇到的问题 config:invalid signature
- HBase shell 命令介绍
- Spark精华问答 | Spark的三种运行模式有何区别?
- 华为 Mate 40 系列搭载麒麟 9000 芯片;短视频平台 Quibi 宣布关闭;Node.js 15 正式版发布|极客头条
- CodeVS 1031 质数环(DP)
- 免费英文文献下载攻略
- TypeScript 获取时间戳
- Linux磁盘阵列(RAID0、RAID1、RADI5、 RAID6、RAID1+0)
- 软件设计实战:基于Java的俄罗斯方块游戏【完整版】
- 2021GPLT L1-8 乘法口诀数列(JAVA语言)
- 数学Ⅰ基础复习(六)
- Linux date命令-d、--date选项接受的时间描述字符串的格式详解
- 2021年9月PMP考试新鲜出炉,如何查询成绩?
- 机器学习:最大熵模型
- cmd命令让计算机崩溃,十大危险的cmd指令,谨慎使用
- echarts,柱状图配置,legend