C++中const和static的作用

2023-05-29 0 263

原副标题:C++中const和static的促进作用

C++中const和static的作用希伯尼安斯云公司出品

一、static

1.不考量类的情形

1)暗藏。大部份未加static的自上而下表达式和表达式具备自上而下由此可见性,能在其它文档中采用,加了后 根本无法在该文档所处的校对组件中采用。

2)预设调用为0,主要包括未调用的自上而下动态表达式与局部性动态表达式,都存有自上而下未调用区。

3)动态表达式在表达式内表述,仍旧存有,且只展开一场调用,具备蕨科瓶,其促进作用覆盖范围与局部性表达式完全相同,表达式选择退出后依然存有,但难以采用。

2.考量类的情形

1)static核心成员表达式:只与类关连,不与类的第一类关连。表述时要重新分配内部空间,难以在类新闻稿中初始 化,要在类表述体内部调用,调用时不须要标注为static;能被非static核心成员表达式任 意出访。

2)static核心成员表达式:不具备this操作符,难以出访类第一类的非static核心成员表达式和非static核心成员表达式;难以被新闻稿为const、虚表达式和volatile;能被非static核心成员表达式任一出访。

二、const

1.不考量类的情形

1)const自变量在表述时要调用,后难以更动。

2)const形参能接收const和非const类型的实参,例如

// i 能是 int 型或者 const int 型

void fun(const int& i)

{

//…

}

2.考量类的情

1)const核心成员表达式:难以在类表述内部调用,根本无法通过构造表达式调用列表展开调用,并且 要有构造表达式;不同类对其const数据核心成员的值能不同,所以难以在类中新闻稿时调用const。

2)核心成员表达式:const第一类不能调用非const核心成员表达式;非const第一类都能调用;不能 改变非mutable(用该关键字新闻稿的表达式能在const核心成员表达式中被修改)数据的值。

相关文章

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

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