赞
踩
1.全局变量初始化在主函数之前
2.静态局部变量初始化在第一次调用这个静态局部变量之前
#include <iostream> using namespace std; class A { public: A(int a):m_a(a){cout << "A(int a):" << m_a << endl;} ~A(){cout << "~A():" << m_a <<endl;} private: int m_a; }; A a(10); void fun() { static A a(5); } int main() { cout << "--------------------------" << endl; fun(); return 0; }
编译结果为:
可以看到全局变量在调用主函数之前已经初始化了,静态局部变量在调用之前进行初始化。
全部变量最后才被析构。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。