#include <iostream>
#include <memory>
#include <intsafe.h>
#if !defined(CPP)
struct WangLiangLiang
{
INT64 age;
WangLiangLiang()
{
}
~WangLiangLiang()
{
}
};
int main()
{
WangLiangLiang * pMemeoryCache = new WangLiangLiang();
pMemeoryCache->age = 33;
WangLiangLiang * pReal = new (pMemeoryCache) WangLiangLiang();
std::cout << pReal->age << std::endl;
pReal->~WangLiangLiang();
return 1;
}
#endif
最近在搞UE4的一些东西,厂子里的UE4 plugin.看到下面的代码,有一些迷糊,于是查了一下.上面的是测试用的代码.深表惭愧,干了好几年这东西都不知道,还是第一次见识到.貌似以前看书看过,不过确实没啥印象.
大意为在指定的预先分配好的内存上调用构造函数.好在我查了查,没有稀里糊涂.这样很好,能不断精进.
继续看...
FStaticMesh* StaticMesh = new(PrimitiveSceneInfo->StaticMeshes) FStaticMesh(
PrimitiveSceneInfo,
Mesh,
ScreenSize,
CurrentHitProxy ? CurrentHitProxy->Id : FHitProxyId()
);
本文探讨了在UE4中于预分配内存上直接调用构造函数的技术细节,通过示例代码展示了如何在指定内存位置创建对象,以及这种方式在游戏引擎场景信息处理中的应用。
684

被折叠的 条评论
为什么被折叠?



