IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++static关键字详解 -> 正文阅读

[C++知识库]C++static关键字详解

今天和同学在交流的时候,他无意中提到了static,我当时好像记得这在C++中好像出现过,但是感觉不太熟悉,于是晚上回来我就整理了一下:

首先我们要知道在c++和c语言中,static的关键字的一些共同点

对于全局变量和局部变量
在正常情况下,全局变量在内存中存储的位置在全局区,局部变量存储的变量在栈区,如果我们在局部和全局变量的申明前加上关键字static,它就变成了静态变量,这个时候它们的在内存中的存储区都是在全局区。
加上static关键字后,对于全局变量和静态变量,如果我们没有给它初始化的话,它们能的默认值都是0,还有就是它们只能本文件下被使用,在其他文件下不能调用,最后就是他们会一直被储存直到整个程序运行结束,相对于局部变量,它不会因为代码块或者函数的结束而被立马释放,而是会一直保留,到下一次函数或代码块被调用时,又能调用局部变量,这个时候它的值和上次一样。
对于函数
如果我在函数的返回类型前面加上一个static,那么它就变成了静态函数,我们知道正常函数的默认是extern,而加上static以后,函数就只能在当前文件中被调用,而且这个时候如果在其他文件中有同名的函数也不关系。

对于c++,因为c++在c语言的基础上,还多了面向对象的部分:

对于类的数据成员
如果我们在定义时加上了static,那么意味着我这个数据成员不再是某一个对象的成员了,而是多个对象的成员,这意味着多个对象的静态数据成员都储存在同一个地方。
对于类的成员函数
如果我加上static,那么这个函数就变成了静态成员函数,这个时候他也是只能在本文件上调用,同时要注意的一点是,我在访问成员函数时就不用对象名了,直接类名加上函数名,而且静态函数不能直接调用非静态数据成员,要通过对象名加成员名访问,静态数据成员可以直接访问。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:42:06  更:2022-01-01 13:43:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:33:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码