加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C循环展开编译时常量小值

发布时间:2020-12-16 09:43:36 所属栏目:百科 来源:网络整理
导读:我有这两个功能: templateint Nvoid fun(){ for(int i = 0; i N; ++i) { std::couti" "; }}void gun(int N){ for(int i = 0; i N; ++i) { std::couti" "; }} 我可以假设在第一个版本中,编译器将为每个小N优化循环(小的意思是N = {1,2,3,4})? 解决方法 May
我有这两个功能:

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})?

解决方法

May I assume that in the first version the compiler will optimize the loop for every small N

这是典型的优化,虽然“假设”是一个强有力的词.如果必须进行优化,您最终会对任何潜在的优化感到失望.

如果编译器能够内联函数,则第二个版本可能会遇到相同的优化.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读