小大的专栏

探索之前行、执着之追求!

C++变量生存周期演示

能正确写出下面代码的输出内容吗?

 

 

正确的输出信息是:

+ D  // 全局对像d初始化
+ A  // 函数内局部对像a初始化
+ B  // 函数内局部对像b初始化
- B  // 函数内局部对像b删除.以前一直以为给一条代码无故加对花括号是无聊的,或者编译器会把它干掉,无聊吗?
+ C  // 函数内静态对像c初始化.注意局部静态变量虽然生存周期是整个程序,但“启动生命”是第一次访问时.这有别于全局对像在main函数启动前就被初始化。
- A  // 函数内局部对像a删除
+ A
+ B
- B  // c对像已经初始化过了,所以下面不会再初始化c
- A
Goodbye!
- C  // 函数内的静态变量c被删除
- D  // 全局对像d被删除

阅读更多
文章标签: c++ 编译器 c null
个人分类: C&C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭