gpt4 book ai didi

c++ - 如何让预处理器采用模板参数?

转载 作者:搜寻专家 更新时间:2023-10-31 02:02:14 24 4
gpt4 key购买 nike

<分区>

我正在尝试对代码进行更优化,我发现如果我将一个 Action 分成两部分,程序运行速度会提高 10%,以防程序员想要以 true 或 false 运行该方法,所以我尝试了这样做:

template<bool way> void action(){
#if way
cout << "Do true actions" << endl;
#else
cout << "Do false actions" << endl;
#endif // way
}

int main()
{
action<true>();
action<false>();
return 0;
}

当然,当我编译这段代码时,它会打印:

Do false actions
Do false actions

当然,实现此目的的一种方法是执行 2 个不同的函数,但在我的代码中,这将显着增加一个 bool 值的函数数量。那么,我该怎么做呢? (将模板的参数传递给预处理器#if)

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