gpt4 book ai didi

c++ - 针对非类型参数特定值的模板代码优化。

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:08 26 4
gpt4 key购买 nike

template <bool flag>
class foo
{
public:
int bar()
{
if(flag)
{
// stuff
}
}
};

编译器在编译这个类时,会用true或false替换flag参数。然后我们有 if(true) (或 if(false) )。然后,if 子句检查常量表达式并将在编译时删除。我可以期望编译器有这样的行为吗?

最佳答案

不,你不能。任何优化完全取决于编译器。由于您使用的是模板,因此您应该为 flag 的两种情况编写专门化。

关于c++ - 针对非类型参数特定值的模板代码优化。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174764/

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