首页 > 后端开发 > C++ > 正文

c++中const和static的区别

下次还敢
发布: 2024-05-01 10:54:17
原创
2285人浏览过
c++kquote>const 修饰符表示常量,值不可修改;static 修饰符指示变量的生存期和作用域。const 修饰的数据成员在初始化后不可修改,static 修饰的变量在程序启动时初始化,在程序结束时销毁,即使没有活动对象也会存在,并且可以跨函数访问。const 修饰局部变量必须声明时初始化,static 修饰的局部变量可以稍后初始化。const 修饰类成员变量必须在构造函数或初始化列表中初始化,static 修饰的类成员变量可以在类外部初始化。

c++中const和static的区别

c++ 中 const 和 static 的区别

简单明了的区别:

  • const 修饰符表示一个常量,它的值在程序运行期间不能被修改。
  • static 修饰符指示一个变量的生存期和作用域

详细解释:

const 修饰符:

立即学习C++免费学习笔记(深入)”;

魔乐社区
魔乐社区

天翼云和华为联合打造的AI开发者社区,支持AI模型评测训练、全流程开发应用

魔乐社区 102
查看详情 魔乐社区
  • const 用于声明常量,即不能更改值的变量。
  • const 修饰的数据成员只能在类构造函数或初始化列表中初始化。
  • const 变量在程序运行期间不能被修改,否则会产生编译错误
  • const 可以应用于对象、指针或引用。

static 修饰符:

  • static 用于声明静态变量,即在整个程序中都存在的变量。
  • 静态变量在程序启动时进行初始化,并且在程序结束时销毁。
  • 静态变量即使在没有活动对象时也会存在,并且可以跨函数访问。
  • static 可以应用于全局变量、类成员变量和局部变量。

其他区别:

  • const 修饰的数据成员是只读的,而 static 修饰的数据成员可以读写。
  • const 修饰的局部变量必须在声明时初始化,而 static 修饰的局部变量可以稍后初始化。
  • const 修饰的类成员变量必须在构造函数或初始化列表中初始化,而 static 修饰的类成员变量可以在类外部初始化。

示例:

<code class="cpp">// const 常量
const int MY_CONSTANT = 10;

// static 全局变量
static int global_count;

// static 类成员变量
class MyClass {
public:
    static int static_member;
};</code>
登录后复制

在上述示例中:

  • MY_CONSTANT 是一个常量,一旦初始化就无法更改。
  • global_count 是一个静态全局变量,在整个程序中都存在。
  • MyClass::static_member 是一个静态类成员变量,可以在类外部访问。

以上就是c++++中const和static的区别的详细内容,更多请关注php中文网其它相关文章!

c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号