c++kquote>const 修饰符表示常量,值不可修改;static 修饰符指示变量的生存期和作用域。const 修饰的数据成员在初始化后不可修改,static 修饰的变量在程序启动时初始化,在程序结束时销毁,即使没有活动对象也会存在,并且可以跨函数访问。const 修饰局部变量必须声明时初始化,static 修饰的局部变量可以稍后初始化。const 修饰类成员变量必须在构造函数或初始化列表中初始化,static 修饰的类成员变量可以在类外部初始化。

c++ 中 const 和 static 的区别
简单明了的区别:
const 修饰符表示一个常量,它的值在程序运行期间不能被修改。static 修饰符指示一个变量的生存期和作用域。
详细解释:
const 修饰符:
立即学习“C++免费学习笔记(深入)”;
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 是一个静态类成员变量,可以在类外部访问。
以上就是c++++中const和static的区别的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1448930.html
微信扫一扫
支付宝扫一扫