简介 const 与 static 的全部用法 (新手教学)

本文详细解析了C++中const和static关键字的使用方法及其区别。包括const修饰的变量、指针及函数的特性,以及static关键字在局部变量和全局变量作用域中的表现。

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

在论坛上天天被问到 const 与 static的 问题。。 一直重复回答。 这里列举一下, 如果有遗漏,请网友补充。。。。

 

 

const,先说变量
const int A; 常量
const int* pA; 指向常量的指针。 (*pA)++ 错误,不允许改变常量, 但是 pA = &D 可以改变指向的对象。
int const * pA; 常量指针,指向int。(*pA)++ 允许, 但不可以改变指向,既 pA = &D 错误

函数 
const int a(); 返回常量
int const * a(); 返回常量指针
const int* a(); 返回指向常量的指针
int a(int b) const; 函数中不允许改变b的值

 

另外还有更多的
const int nB = 10;
const int const * PA = &B;

 


const int const * funA(const int * pBuf) const;
请网友们自己分析吧

 

 

static 静态作用域, 修饰函数中的变量时 说明只扶植一次,并且保留上一次的结果
修饰全局函数或变量时, 说明作用域只针对于这个文件, 与c++中的命名空间 namespace 有点像,
只不过 命名空间可以扩充到多个文件中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值