草庐IT

CSymbolCtrl

全部标签

不创建 C++ 全局类变量

我正在查看一段创建全局类变量的代码。这些类的构造函数调用符号表单例并在其中添加this指针。在Keywords.cpp文件中classA:classKeyWord{A(){add();}}Adef;同样适用于关键字B、C等voidKeyWord::add(){CSymbolCtrl&c=CSymbolCtrl::GetInstance();c.addToTable(this);}这些翻译单元被编译成一个库。当我“转储”库时,我看到了ADef、BDef等的动态初始值设定项。在exe中没有,当我调用CSymbolCtrl实例时,我没有找到存储在其映射中的ADef、BDef..。当我在add