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})? 解决方法
这是典型的优化,虽然“假设”是一个强有力的词.如果必须进行优化,您最终会对任何潜在的优化感到失望. 如果编译器能够内联函数,则第二个版本可能会遇到相同的优化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |