
c++ 中 const 和 static 的区别
简单明了的区别:
- const 修饰符表示一个常量,它的值在程序运行期间不能被修改。
- static 修饰符指示一个变量的生存期和作用域。
详细解释:
const 修饰符:
立即学习“C++免费学习笔记(深入)”;
大众投资指南是基于Asp.Net(2.0)+C#+Access(sql2000)的企业黄页类程序,是基于web2.0 模式的网站。 贴吧和黄页都有采集功能 主程序包括分类信息和商家黄页两大模块。分类信息支持二级分类,商家黄页支持二级地区分类及二级行业分类。程序采用了伪静态(url重写)技术,可选生成纯静态首页。 一、分类信息仿百度贴吧编写,可以分别对游客及会员设置不同的审核条件。会员发布信息
- const 用于声明常量,即不能更改值的变量。
- const 修饰的数据成员只能在类构造函数或初始化列表中初始化。
- const 变量在程序运行期间不能被修改,否则会产生编译错误。
- const 可以应用于对象、指针或引用。
static 修饰符:
- static 用于声明静态变量,即在整个程序中都存在的变量。
- 静态变量在程序启动时进行初始化,并且在程序结束时销毁。
- 静态变量即使在没有活动对象时也会存在,并且可以跨函数访问。
- static 可以应用于全局变量、类成员变量和局部变量。
其他区别:
- const 修饰的数据成员是只读的,而 static 修饰的数据成员可以读写。
- const 修饰的局部变量必须在声明时初始化,而 static 修饰的局部变量可以稍后初始化。
- const 修饰的类成员变量必须在构造函数或初始化列表中初始化,而 static 修饰的类成员变量可以在类外部初始化。
示例:
// const 常量
const int MY_CONSTANT = 10;
// static 全局变量
static int global_count;
// static 类成员变量
class MyClass {
public:
static int static_member;
};在上述示例中:
- MY_CONSTANT 是一个常量,一旦初始化就无法更改。
- global_count 是一个静态全局变量,在整个程序中都存在。
- MyClass::static_member 是一个静态类成员变量,可以在类外部访问。










