| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1300 人关注过本帖
标题:求:关于对象(变量)的生命周期问题(很白的问题)
只看楼主 加入收藏
kinghao
Rank: 2
等 级:论坛游民
帖 子:15
专家分:16
注 册:2010-5-23
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:3 
求:关于对象(变量)的生命周期问题(很白的问题)
不同定义方式下的对象(变量)的生命周期发生怎样不同 (如全局变量、局部变量、静态变量、动态分配对象、类成员变量等)
能举例说明下吗?谢谢~
搜索更多相关主题的帖子: 生命周期 变量 对象 
2010-05-24 12:03
ciweitou163
Rank: 7Rank: 7Rank: 7
来 自:河北 石家庄
等 级:黑侠
威 望:1
帖 子:144
专家分:528
注 册:2008-10-4
收藏
得分:5 
一时间也说不太清楚,不过我在网上找到一个好资料!一起学习下吧
http://learn.


  • 满眼生机转化钧;天工人巧日争新。
2010-05-24 13:58
zhqhzhqh
Rank: 2
等 级:论坛游民
帖 子:3
专家分:20
注 册:2009-10-17
收藏
得分:5 
全局变量 先于程序分配,在程序运行整个周期有效
普通局部变量 从分配到程序走出作用域有效
静态变量 从分配处开始到程序结束有效
动态分配对象 从分配到回收,自由控制,如果忘记回收,有两种可能,正常结束的程序系统一般自动回收,如果非正常退出,很有可能出现内存泄露
类成员变量 生命周期同对象,若是静态类成员变量,在类外赋初值,生命周期未知。
收到的鲜花
  • kinghao2010-05-25 12:39 送鲜花  3朵   附言:举例详细,谢谢
  • kinghao2010-05-25 12:39 送鲜花  3朵   附言:谢谢,看懂了
2010-05-24 21:30
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:10 
程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;

int a = 1;          //全局变量,全局作用域,程序结束时生命期结束
static int b = 2;   //该文件内的全局变量,程序结束时生命期结束

int main()
{
    int c = 3;   //局部作用域,在main}后结束生命期,也就是程序结束时,因为main是程序的入门
    static int d = 4;   //生命期为程序结束时,不过该e的可见性只在main内
   
    for(int i = 0; i < 10; i++)   //i作用域应该在for到}这个范围了
    {
        static int e = 5;       //生命期为程序结束时,不过该e的可见性只在{}内
        int f = 6;                 //生命期在语句作用域内       
    }                              //i生命期结束
   
    char p = new char[3];    
    //.........
    delete [] p;      //生命期在其delete时结束
   
    //对象一般也在}时结束其生命期,调用析构函数后作为其结束的标志。原理跟基本类型差不多
    //关于类对象的生命周期,你可以自己写跟踪语句,很多东西自己尝试就可以出来的
    return 0;
}
收到的鲜花
  • kinghao2010-05-25 12:41 送鲜花  3朵   附言:谢谢,刚给你的评论给楼上了~ 很好
2010-05-24 22:15
快速回复:求:关于对象(变量)的生命周期问题(很白的问题)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041230 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved