首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ 静态成员初始有关问题

2012-06-20 
c++静态成员初始问题C/C++ code#include iostreamusing namespace stdclass t{public:t(){coutte

c++ 静态成员初始问题

C/C++ code
#include <iostream>using namespace std;class t{public:    t(){cout<<"t"<<endl;}    void send(){cout<<"send"<<endl;}};class A{public:    A(){tt.send();}    static t tt;};A a;t A::tt;void main(){    }



为什么会出到 
send
t
的输出结果 不解

[解决办法]
全局变量内存分配和初始化时机问题,内存分配在链接时已经完成,初始化需要代码执行到变量定义处执行。
所以在A a;处tt的内存已经分配,所以可以执行tt.send();但是其构造函数要到t A::tt;处执行。

热点排行