static与const

static的作用

1、面向过程中的static

静态全局变量:

  1. 该变量在全局数据区分配内存;
  2. 未经初始化的静态全局变量会被程序自动初始化为0;
  3. 声明它的整个文件都是可见的,在文件之外不可见;

静态局部变量:

  1. 该变量在全局数据区分配内存;
  2. 在程序执行到该对象的声明处时被首次初始化,以后的函数调用不再进行初始化;
  3. 声明处初始化,如果没有默认为0;
  4. 始终驻留在全局数据区,指导程序运行结束。但其作用为局部作用域;

静态函数:

  1. 不能被其他文件所用;
  2. 其他文件中可以定义相同名字的函数;

2、面向对象中的static

静态数据成员:

  1. 分配一次内存,本类所有对象共有;
  2. 存储在全局数据区,定义时要分配空间,不能在类声明中定义。

静态成员函数:

不具有this指针,无法访问属于类对象的非静态数据成员、非静态成员函数。只能访问静态成员和其他静态成员函数。

const的作用

1、限定变量未不可修改。

2、限定成员函数不可以修改任何数据成员。

3、const与指针:

const 修饰指针指向的内容,则内容为不可变量。const int *p = 8

const 修饰指针,则指针为不可变量。int const *p

const 修饰指针和指针指向的内容,则指针和指针指向的内容都为不可变量。const int * const p

注意:const关键字不能与static关键字同时使用,因为static关键字修饰静态成员函数,静态成员函数不含有this指针,即不能实例化,const成员函数必须具体到某一实例。

 

转载于:https://www.cnblogs.com/oldyogurt/p/9120498.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值