【day0404】C++ 局部对象

来源:互联网 发布:网络统考报名时间 编辑:程序博客网 时间:2024/05/17 03:30

1、非静态局部变量:

      在函数结束后就消失,在函数被调用时又重新创建局部变量。

2、静态(static)局部变量:

      生命期跨越了多次函数调用的局部对象,直到整个程序结束退出才消失。当函数被调用时,不会再定义该静态变量,也不会重新赋值,而是直接继续使用该变量。

A、全局变量:

      生命周期与静态周期相同。

B、局部变量:

      局部变量和形参也称为自动对象,函数调用时自动创建,函数结束后自动销毁。


Demo:

#include <iostream>using namespace std;/*局部对象*///非静态局部对象int add_1(){    int a = 0;    return ++a;}//静态局部对象int add_2(){    static int b = 0;    return ++b;}/// 全局变量int k = 10;int t = 8;int add_3(int k){    k += 10;    t += 10;    return k;}int main(){    cout << add_1() << ", " << add_1() << ", " << add_1() << endl;    cout << add_2() << ", " << add_2() << ", " << add_2() << endl;    //先计算3个add_2()并放进栈内,再输出,所以是3,2,1    cout << add_2() << endl;    //如果局部变量与全部变量同名,局部变量有效。    cout << "k = " << add_3(5) << endl;    cout << "t = " << t << endl;    return 0;}
输出:



0 0
原创粉丝点击