C++_静态局部变量的值在函数结束后不会释放,也不会被外部调用
2012-10-29 16:03
387 查看
/*********************************************************************** *时间:2012年10月17日11:00:32 * *描述:静态局部变量,函数结束后,内存空间仍被保留,但不能被函数外部调用* ***********************************************************************/ # include <iostream> using namespace std; int f(int a)//定义f函数,a为形参 { auto int b = 0;//等价于 int b = 0; 定义b为自动变量,f()函数结束时,其内存空间被释放 static int c = 3;//定义c为静态局部变量,f()函数结束时,其内存空间保留 b = b + 1; c = c + 1; return a + b + c; } int main() { int a = 2, i; for(i = 0; i < 3; i++) { cout<<f(a)<<" "; } cout<<endl; return 0; } /************************* *在c++6.0中运行的结果是:* *-------------------- * *7 8 9 * *-------------------- * *************************/
相关文章推荐
- C/C++中关于函数调用结束后变量释放的问题
- C++调用外部函数和外部变量
- C++静态成员(静态成员变量、静态成员函数)与正常成员互相调用的权限问题
- 在C++中调用DLL中的函数——静态调用和动态调用
- C++实例 静态成员的引入——静态数据成员的定义、调用,静态成员函数的实现、调用。
- 为什么async函数不会调用我指定的bind函数?解惑Asio库 - C/C++解惑之Boost库
- C++ static成员直到整个程序结束才释放空间,函数返回也不会释放
- C++[类设计]静态窗口过程调用非静态成员函数
- C++中,嵌套类调用外部类函数例子
- C++以阻塞的方式调用外部exe程序,等待其运行结束
- C++中定义一个函数结束后自动释放的锁
- C++静态函数中调用非静态成员函数或变量
- C++静态成员函数不能调用非静态成员变量
- C++静态成员函数不能调用非静态成员变量(详解)
- 为什么C++静态成员函数不能访问非静态成员变量、不能调用非静态成员函数?(面试常考)
- C++ 静态成员函数调用非静态成员函数方法
- C++静态成员函数不能调用非静态成员变量
- c++中全局变量、局部变量、内部函数、外部函数
- 函数内定义非静态局部变量当函数运行结束后自动释放
- 在c++中,静态数据成员可以被非静态成员函数调用吗?如果可以调用的话那为什么还要定义静态成员函数呢