Одиночная петля с несколькими операциями против нескольких петлейC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Одиночная петля с несколькими операциями против нескольких петлей

Сообщение Anonymous »

Когда я должен предпочесть один цикл с несколькими операциями в отличие от нескольких петель, каждая из которых с одной операцией?

Код: Выделить всё

elements
).
У меня есть несколько предикатов P_1 , p_2 , p_3 , каждый принимает элемент и возвращает true или false . Для каждого предиката мне нужна сумма элементов, которые его удовлетворяют.auto sum_1 = 0;
auto sum_2 = 0;
auto sum_3 = 0;

for (const auto element : elements)
{
if (p_1(element)) sum_1 += element;
if (p_2(element)) sum_2 += element;
if (p_3(element)) sum_3 += element;
}
< /code>

Многие петли с одной операцией: < /li>
< /ol>
auto sum_1 = 0;
auto sum_2 = 0;
auto sum_3 = 0;

for (const auto element : elements)
{
if (p_1(element)) sum_1 += element;
}

for (const auto element : elements)
{
if (p_2(element)) sum_2 += element;
}

for (const auto element : elements)
{
if (p_3(element)) sum_3 += element;
}
< /code>
В этом случае первый подход кажется мне более естественным, но если операция более сложна, вторая версия может быть более читабельной. Скорость не очень критична, так что есть еще что -то, о чем нужно подумать?


Подробнее здесь: https://stackoverflow.com/questions/796 ... iple-loops
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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