栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

const和static的用法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

const和static的用法

这里写目录标题
  • const
    • const 变量
    • const 指针
    • const 引用
    • const 函数参数
    • const 函数返回值
  • static
    • static 全局变量和函数(隐藏功能)
    • static 局部变量(生存期长)
    • static 变量(默认初始化为0)

const const 变量

const 修饰的对象转换为一个常量,不可被修改。
同一工程中const int val = 8全局常量val只作用在本文件中,即使另一文件用extern const int val声明也不行,需在定义时使用extern const int val = 8其他文件才可extern声明访问。

const 指针

const int *a1;//表示p1指向的整型不可修改
int * const a3 = &a;//表示a3指针不可修改,只能指向a的地址;const在 * 号的右边

const 引用

当引用的对象是const对象时,引用也必须是const
const int val = 1024;
const int &refVal = val;

const 函数参数

传递过来的参数在函数内不可以改变,与上面修饰变量时的性质一样。

const 函数返回值

形如:
const int * fun1( ){ }
const int fun2( ){ }
如果返回const data,non-const pointer,返回值也必须赋给const data,non-const pointer。因为指针指向的数据是常量不能修改。

如果函数返回值采用“值传递方式”,由于函数会把返回值复制到外部临时的存储单元中,加const 修饰没有任何价值。所以,对于值传递来说,加const没有太多意义。

static static 全局变量和函数(隐藏功能)

同一工程下,static修饰的全局变量和函数只在本文件中可见,未加static的全局变量和函数在整个工程中可见,但都要提前声明,全局变量声明加extern

static 局部变量(生存期长)

函数内的静态局部变量生存期为整个源程序,且只进行一次初始化。

static 变量(默认初始化为0)

未初始化的全局静态变量和局部静态变量其默认值为0。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676210.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号