C++之const和static

const:

用途:用于声明常量。一旦为const对象赋值后,就不能再修改它。

作用域:可以是全局的、类的、文件内静态的或函数内的(但局部常量通常在函数内被初始化为常量表达式)。

储存期:取决于其作用域和定义位置。

static:


用途:在函数内部:用于声明一个只在该函数内部初始化一次的局部变量(即,它只在第一次进入该函数时初始化,并在程序的生命周期内保持其值)。

在文件作用域(全局或命名空间):用于声明一个只在该文件或命名空间中可见的变量或函数

在类内部:用于声明一个类的静态成员变量或静态成员函数。静态成员变量在所有对象之间共享一个存储位置,而静态成员函数则可以直接通过类名调用,无需创建类的对象。

作用域:取决于其定义位置。在文件作用域中,它是文件私有的;在类作用域中,它是类的成员

储存期:静态变量具有静态存储期,这意味着它们在程序的整个生命周期内都存在。

主要区别:

可变性const表示不可变性,即一旦初始化后就不能再修改;而static与可变性无关,它控制变量的存储期和可见性。

存储期:虽然两者都与存储期有关,但static关键字直接指定了静态存储期,而const本身并不指定存储期(除非与static或其他存储类说明符一起使用)。

可见性:static在文件作用域中用于限制变量的可见性;而const本身不控制可见性,它只控制变量的可修改性。

用途:const主要用于创建常量;而static主要用于控制变量的存储期和可见性,以及类成员函数的调用方式。

相关推荐

  1. C单片机关键字extern、static const

    2024-05-10 11:54:09       38 阅读
  2. C++const

    2024-05-10 11:54:09       24 阅读
  3. C++】constexprconst

    2024-05-10 11:54:09       16 阅读
  4. conststatic区别

    2024-05-10 11:54:09       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-10 11:54:09       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-10 11:54:09       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-10 11:54:09       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-10 11:54:09       18 阅读

热门阅读

  1. Visual Studio和Visual Studio Code适用于哪些编程语言

    2024-05-10 11:54:09       10 阅读
  2. DevOps技术栈(Nginx)

    2024-05-10 11:54:09       10 阅读
  3. c#:求所有水仙花数的和

    2024-05-10 11:54:09       10 阅读
  4. 1329. 将矩阵按对角线排序

    2024-05-10 11:54:09       14 阅读
  5. RUST编程语言入门基础2024

    2024-05-10 11:54:09       13 阅读
  6. 算法题:动态规划

    2024-05-10 11:54:09       12 阅读
  7. webpack4和webpack5区别4---自动清除打包目录

    2024-05-10 11:54:09       9 阅读
  8. .net 生成二维码图片

    2024-05-10 11:54:09       8 阅读
  9. 对话机器人技术解说

    2024-05-10 11:54:09       10 阅读
  10. 金融名词剖析:77个“支付近义词”辨析

    2024-05-10 11:54:09       12 阅读
  11. Spring MVC(二)

    2024-05-10 11:54:09       11 阅读