我想使用新 C++11 中存在的初始化语法对结构进行 ZeroMem。目前我正在这样做:
Mesh::Mesh(void) :
m_bInitialized(false),
m_BoundingBox(BoundingBox()), // <-- Is this right???
m_numVertices(0),
m_pVertexInfos(nullptr),
m_pFaceIndices(nullptr),
m_numFaces(0),
m_numFacesIndices(0),
m_materialIndex(0),
m_faceType(NONE)
{
}
这似乎可以解决问题,但它看起来有点丑陋,感觉不对。有没有更好的办法?
我的印象是,使这种初始化语法如此出色的原因在于,它以某种方式自动初始化了构成该类的内存块,而不会浪费比其他方式更多的 CPU 周期,并且在语法中使用构造函数会破坏该目的。
关于这一点,如果有人可以向我解释是什么让它如此出色,或者将我链接到解释它的文章,我将不胜感激。
谢谢阅读