UE4 代码编写细节:静态变量

Note:因为在切换关卡时,会GC掉所有GameThread线程下的Object类,如果Static是UOBject 请调用AddToRoot函数

    当然如果你的UObject子类Object是在自己的FRunnable 下创建的非RenderThread线程是不存在在OpenLevel时被GC的

UE4 无法在.H 定义C++ Static 成员:

要实现类似功能 可通过以下代码 或参考Singleton 单例设计模式:

.Cpp文件

TMap<int32, FDataCpp_BaseGoodsDetailListItem>* UWgtCpp_BaseGoodsDetail::getGoodsDetailListMap()
{
static TMap<int32, FDataCpp_BaseGoodsDetailListItem>* m_map = NULL;

if (m_map == NULL) 
{
m_map = new TMap<int32, FDataCpp_BaseGoodsDetailListItem>();
}

return m_map;
}
原文地址:https://www.cnblogs.com/linqing/p/5156643.html