Компиляторы, 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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