Компиляторы, IF -операторы и петлиC++

Программы на C++. Форум разработчиков
Anonymous
Компиляторы, IF -операторы и петли

Сообщение Anonymous »

Это общий вопрос эффективности для C ++. Я не знаком с внутренней работой компиляторов, поэтому предположим, что у меня есть несколько циклов и потенциальный оператор, если внутри, например ,::

for(int i=0; ...)
{
for(int j=0; ...)
{
if( ... )
{
...
}
else
{
... (slightly different)
}
}
}
< /code>

Тем не менее, это предложение, если не зависит от петли. Существует ли значительная разница скорости, если я вместо этого определяю оператор IF/ELSE за пределами петель с петлями внутри? Например ,:

if( ... )
{
for(int i=0; ...)
{
for(int j=0; ...)
{
...
}
}
}
else
{
for(int i=0; ...)
{
for(int j=0; ...)
{
... (slightly different)
}
}
}
< /code>

Если да, или если нет, то почему это так? У меня есть некоторое представление о том, что компилятор будет распознавать то же самое, если утверждение, сделанное снова и снова, но это довольно незнакомая территория для меня. < /P>

Я изучил ответ на этот вопрос :
будет оптимизировать компилятор условного утверждения в цикле, перемещая его OUSTE в цикл? Но что -то сделано, как это автоматически? Если нет, то, насколько большая стоимость является таковым, как это, внутри петли?

Подробнее здесь: https://stackoverflow.com/questions/244 ... -and-loops

Вернуться в «C++»