如果我知道需要执行n次循环,是否有一种方法可以编写一次while(或for)循环,而无需每次进行比较?如果没有,有一种方法可以使宏转向:

int i = 0;
for(i = 0; i < 5; i++) {
   operation();
}

进入:
operation();
operation();
operation();
operation();
operation();

P.S.到目前为止,这是我提出的最快的循环。
int i = 5;
while(i-- >= 0) {
   operation();
}

最佳答案

足够智能的编译器将为您完成此任务。更具体地说,优化编译器可以理解循环展开。这是一个相当基本的优化,尤其是在您的示例(其中在编译时知道迭代次数)的情况下。

简而言之:打开编译器优化,不必担心。

关于c++ - 在C中循环n次不进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27775207/

10-11 21:30