我有这两个函数:
template<int N>
void fun()
{
for(int i = 0; i < N; ++i)
{
std::cout<<i<<" ";
}
}
void gun(int N)
{
for(int i = 0; i < N; ++i)
{
std::cout<<i<<" ";
}
}
我可以假设在第一个版本中,编译器将为每个小N(我指的是N = {1, 2, 3, 4})优化循环吗?
cout
的执行时间比展开循环所能节省的时间要长得多。 - Mike Dunlavey