c++中const和static的区别

c++kquote>const 修饰符表示常量,值不可修改;static 修饰符指示变量的生存期和作用域。const 修饰的数据成员在初始化后不可修改,static 修饰的变量在程序启动时初始化,在程序结束时销毁,即使没有活动对象也会存在,

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

c++中const和static的区别

c++ 中 const 和 static 的区别

简单明了的区别:

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

详细解释:

const 修饰符:

  • 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的区别的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:走不完的路,转转请注明出处:https://www.dingdanghao.com/article/431019.html

(0)
上一篇 2024-05-01 11:20
下一篇 2024-05-01 11:20

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号