C++ 在函数中用static定义的变量的
来源:互联网 发布:比特彗星监听端口 编辑:程序博客网 时间:2024/05/22 05:59
在C++中,在函数中使用static定义一个变量,该变量最终只会分配一次内存,如果下次继续调用该函数,不会再重新分配内存给变量,而是使用上次分配的内存。
#include<iostream>using namespace std;class StaticVer{public: int num ; StaticVer():num(10){}};int * staticNum(){ static int a = 10; return &a;}StaticVer * StaticObj(){ static StaticVer statv; return &statv;}int main(void ){ for (size_t i = 0; i < 10; i++) { int *pNum = staticNum(); StaticVer*pObj = StaticObj(); cout << "staticNum addr:" << pNum << endl; cout << "StaticObj addr:" << pObj << endl; cout << "-------------------" << endl; } getchar();}
运行这段代码,我们会得到如下结果:
staticNum addr 总是指向地址0094E000
StaticObj addr 总是指向地址0094E2C8
staticNum addr:0094E000StaticObj addr:0094E2C8
最后程序运行截图
0 0
- C++ 在函数中用static定义的变量的
- c程序的变量定义必须在所有函数之前?!
- 函数内定义的static变量怎样在外部访问和修改
- 在C中用struct实现C++中class的函数声明和定义
- 在C中用struct实现C++中class的函数声明和定义
- 静态变量 static 的定义
- C/C++中static变量和static函数的用法
- C/C++中static变量和static函数的用法
- C/C++中static变量和static函数的用法
- C/C++中static变量和static函数的用法
- static在头文件中定义变量的问题
- static成员变量在类的定义体中初始化
- 在C中用变量来定义printf输出位数
- 在java中用函数交换两个变量的值
- c语言中函数变量定义是不是必须在函数的开始处?
- 关于“在C语言中只能在函数前面定义变量”的问题
- 关于C语言static定义函数类型的具体解释
- 关于C语言static定义函数类型的具体解释
- 对js中的引用类型的理解(2)——Object类型
- SimpleDateFormat在jdk1.6与jdk1.7之间的差别
- linux设备树中pinctrl的配置(下)
- 【FOJ2206 11月月赛B】【观察找规律】函数求解 分析函数求值
- 文档的吐槽
- C++ 在函数中用static定义的变量的
- FastDFS的配置、部署与API使用解读(7)Nginx的FastDFS模块
- GBDT(MART) 迭代决策树入门教程 | 简介
- NDK编译OpenCV-3.0.0的配置文件
- 对js中的引用类型的理解(3)——Array类型
- NSString
- 人脸识别技术大总结(1)——Face Detection & Alignment
- phonegap-我的第一个android应用
- Linux常用命令和Vi编辑器操作