const详解

2023-05-26 0 681

1.表述

表述的函数的值无法被发生改变,在整座返回值中都维持一般来说。换言之,是常类别的函数或第一类的值无法被预览。

例:用两个函数来则表示年级的最小数目,或是则表示头文件的大小不一。

const int maxnum = 100;//年级总数目

2.促进作用

能表述自函数
const int a =100;

2.类别检查和

const自函数与#define宏表述的差别: const自函数具备类别,C++能展开巡查

#define宏表述没数据类别,而已单纯的数组代替,无法展开巡查

const表述的函数多于类别为有理数或隐式,且以自函数函数调用时就可以做为自函数函数。

其它情况下它而已两个const限量发行的函数,无法将与自函数混为一谈

3.防止修改,起为保护促进作用,减少流程易用性

void f(const int i) { i++;//严重错误 }

4.能节约内部空间,防止无谓的缓存重新分配

const表述自函数从编订的视角上看,而已得出了相关联的缓存地址,而并非像#define那样得出的是立刻数const表述的自函数在流程代码操作过程中而已这份复本,而#define表述的自函数在缓存二个复本。

3.const第一类默认为文档局部函数

tip:非const函数预设为extern。要使const函数能在其它文档中出访,要在文档中显式地表示他为extern

未被const润色的函数在相同文档的出访
//file1.c int ext; //file2.c #include <stdio.h> extern int ext; int mian() { printf(ext+10); }

2.const自函数在相同文档中的出访

//file1.c extern const int ext=12; //file2.c #include <stdio.h> extern const int ext; int main() { printf(ext); }
小结:未被const润色的函数不需要extern显式声明!而const自函数需要显式声明extern,并且需要做调用!因为自函数在表述后就无法被修正,所以表述时要调用。

4.表述自函数

const int b = 10; b = 0;//严重错误,只读函数b被复制 const string s = “helloworld”; const int i,j=0;//严重错误,i未被调用的const

以上有2个严重错误:

b为自函数,不可更改i为自函数,要展开调用!(因为自函数在表述后就无法被修正,所以表述时要调用)

5.指针和const

与指针相关的const有四种:

const char * a; //指向const第一类的指针或是说 char const * a; //同上 char * const a; //指向类别第一类的const指针,或是说常指针、const指针 const char * const a; //指向const的第一类的const指针

小结:

如果const位于*的左侧,则const是用来润色指针所指向的函数,即指针指向为自函数

如果const位于*的右侧,const是润色指针本身,即指针本身是自函数

欲知后事如何,请听下回分解。

const详解
上一篇: Java资源大全
const详解
下一篇: 算法设计

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务