gpt4 book ai didi

c++ - 使用 const 引用为变量别名

转载 作者:行者123 更新时间:2023-11-30 03:57:05 30 4
gpt4 key购买 nike

当处理从数组或任何其他较长语法中获取的 T 实例时,我经常使用 const T& 来为对象取别名并使我的代码更具可读性(当然只有在对象的生命周期允许的情况下)。我在其他地方看到过这个,例如here在 Stefan Reinalter 的优秀博客上。他的代码的精简版和注释版:

void Render()
{
for (size_t i = 0; i < m_visibleSubMeshes.size(); ++i)
{
// Get current submesh from array and create alias
const SubMesh& sm = m_subMeshes[i];

// Enjoy shortened syntax using the const reference
context->Draw(sm.startIndex, sm.numIndices);
}
}

这是否会导致额外的指令,或者这在所有情况下都与直接访问 m_subMeshes[i].startIndexm_subMeshes[i].numIndices 相同?

最佳答案

这取决于配置。

如果优化到位,它应该为任何好的编译器产生相同的结果。这对于发布版本来说是典型的。

如果禁用优化,它应该会产生更少的指令,因为您只取消引用了一次集合。这对于调试构建来说是典型的,在这种情况下,它还具有更容易检查对象的优势。

关于c++ - 使用 const 引用为变量别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152400/

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