const关键字核心相关知识及decltype类型指示符

本文深入探讨了C++编程中利用const关键字初始化变量及常量对象的方法,阐述了const对象的作用、限制以及外部访问方式,并介绍了C++11新增的decltype类型指示符的用法。文章详细解释了const对象的不可更改性、对const引用的限制、指向常量的指针特性和常量指针的初始化要求,同时引入了decltype类型指示符的特性,帮助开发者更好地理解和运用C++中的const机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,如果利用一个变量去初始化另一个变量,它们是不是const都无关紧要

2,默认状态下,const对象仅在文件内有效,如果想在多个文件之间共享const对象必须在变量的定义之前添加extern关键字,例如:

       // file.cpp

          extern const int  ibufSize = 3;//定义并初始化了一个常量,该常量能被其他文件访问

      // file.h

          extern const int  ibufSize;//与file.cpp 中定义的bufSize是同一个

3,const 限定对象等的值得不可修改性

4,const对象不可赋值给一个非常量对象

5,对const的引用可能引用一个并非const的对象

6,指向常量的指针不能用于改变其指对象的值,要想存放常量对象的地址只能使用指向常量的指针,允许令一个指向常量的指针指向一个非常量对象

7,常量指针必须初始化,而且一旦初始化完成,则它的值(也就是存放在指针中的那个地址)无法再改变

decltype 类型指示符(C++ 11新特性):

     decltype 类型指示符:选择并返回操作数的数据类型,在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值:

     decltype (fu()) sum=x;  //sum 的类型就是函数f的返回类型

     decltype返回该变量的类型

     decltype针对于加括号的变量基本类型会视为表达式,得到的是引用,必须初始化


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值