gpt4 book ai didi

c++ - 如何正确使用初始化语法来初始化结构?

转载 作者:行者123 更新时间:2023-11-30 01:58:38 33 4
gpt4 key购买 nike

我想使用新 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 周期,并且在语法中使用构造函数会打败它目的。

关于这一点,如果有人可以向我解释是什么让它如此出色或将我链接到解释它的文章,我将不胜感激。

感谢阅读

最佳答案

你可以只说 m_BoundingBox()。这将对成员进行值初始化,这意味着类类型的默认构造和标量类型的零初始化。

关于c++ - 如何正确使用初始化语法来初始化结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177170/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com