首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
C/C++
C++ 语言
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
关于"local static"的作用域
[已结贴,结贴人:hmsuccess]
加为好友
发送私信
在线聊天
hmsuccess
等级:
可用分等级:
富农
总技术分:
5180
总技术分排名:
4225
揭贴率:
78.95%
发表于:
2008-08-19 15:28:06
楼主
对于static对象,其寿命我认为应该是从被构造出来到程序结束为止,那local-static对象呢?
例如:
C/C++ code
string
&
bind() {
static
string
str; .....
return
str; }
问题点数:
20
回复次数:
12
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
akirya
坏[其实偶不是什么所谓的坏人]
等级:
可用分等级:
富农
总技术分:
94374
总技术分排名:
57
6
发表于:
2008-08-19 15:34:16
1
楼 得分:
0
从被构造出来到程序结束为止
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
bitxinhai
清风
等级:
可用分等级:
富农
总技术分:
2157
总技术分排名:
10557
发表于:
2008-08-19 15:39:00
2
楼 得分:
2
应该是到程序的结束,string的对象才被析构!!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cwc270
等级:
可用分等级:
中农
总技术分:
2042
总技术分排名:
11506
发表于:
2008-08-19 15:39:10
3
楼 得分:
1
寿命是这样,但只能在该范围内访问。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hmsuccess
等级:
可用分等级:
富农
总技术分:
5180
总技术分排名:
4225
发表于:
2008-08-19 15:52:00
4
楼 得分:
0
引用 1 楼 akirya 的回复:
从被构造出来到程序结束为止
那就是说函数bind结束后,local-static对象str还没有被析构
原因呢?谢谢
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
akirya
坏[其实偶不是什么所谓的坏人]
等级:
可用分等级:
富农
总技术分:
94374
总技术分排名:
57
6
发表于:
2008-08-19 19:55:48
5
楼 得分:
10
引用 4 楼 hmsuccess 的回复:
引用 1 楼 akirya 的回复:
从被构造出来到程序结束为止
那就是说函数bind结束后,local-static对象str还没有被析构
原因呢?谢谢
规定的,所以各个编译器都这样实现了.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
richbirdandy
阿2
等级:
可用分等级:
贫农
总技术分:
1804
总技术分排名:
14156
发表于:
2008-08-19 20:01:10
6
楼 得分:
3
原因参考 C++对象模型
local-static对象即使在其所在的函数没调用也会被初始化
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wjb_yd
等级:
可用分等级:
中农
总技术分:
922
总技术分排名:
21273
发表于:
2008-08-19 21:05:38
7
楼 得分:
2
从函数第一次被调用,到主程序结束
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
iambic
等级:
可用分等级:
掌柜
总技术分:
22715
总技术分排名:
507
4
3
3
发表于:
2008-08-19 21:12:13
8
楼 得分:
2
生命期还是作用域?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hmsuccess
等级:
可用分等级:
富农
总技术分:
5180
总技术分排名:
4225
发表于:
2008-08-19 21:12:50
9
楼 得分:
0
谢谢大家!!!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
freshui
五月的风
等级:
可用分等级:
中农
总技术分:
4595
总技术分排名:
4529
发表于:
2008-08-19 21:43:46
10
楼 得分:
0
static的变量是放在内存的全局区的
不过作用域只在本地, 一般就是所在的大括号扩中的部分
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wuwenjie0506
等级:
可用分等级:
长工
总技术分:
10
总技术分排名:
213082
发表于:
2008-08-19 21:51:07
11
楼 得分:
0
string 是在编译的时候就被分配好的,生成期为程序执行期间,但可见性就只有bind内部.
建议你好好理会生成期和可见性这两个概念.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cyblueboy83
爱情白痴—电脑迷
等级:
可用分等级:
掌柜
总技术分:
6855
总技术分排名:
2995
发表于:
2008-08-19 22:03:17
12
楼 得分:
0
local-static对象
跟全局静态对象的生存空间是一样的,在进程的全局存储区
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友