É possível evitar muitos "ors" (|||) em condições que causem a mesma ação? - página 9

 
borilunad:
Obrigado! Vou tentar esses parênteses agora!
Esta opção me reduziu em meio minuto. E em geral, o tempo pode ter aumentado devido a algumas mudanças no algoritmo. Não há tempo para checá-lo completamente agora, eu o verificarei mais tarde e o procurarei! Obrigado!
 
Vinin:

Mas você tem que verificar todas as opções que oferece. Caso contrário, você pode cometer um erro.
Com certeza vou verificar! Eu sou o primeiro interessado!
 
PapaYozh:

Para evitar que as advertências se desorganizem nos olhos, use {}: {}

if (!A && !B && !C && !D) {} //пустой оператор
else Action();


Isso é como coçar a parte de trás da cabeça com um calcanhar :) Por que quatro operações extras e uma linha supérflua? Porque a versão original tinha este aspecto:

if (A || B || C || D) Action();
E é especialmente engraçado que o iniciante do tópico tenha escolhido sua variante entre todas as oferecidas ))
 
Meat:


É como coçar a parte de trás da minha cabeça com um calcanhar :) Por que 4 operações extras e uma linha extra? Afinal, a versão original tinha este aspecto:

E é especialmente engraçado que o iniciante do tópico tenha escolhido sua variante entre todas as oferecidas ))

Testei todas as opções propostas, e descobri que a mais rápida é esta: se (A ||| B ||| C || D) Ação();

Para reduzir o tempo, fiz algumas condições, que são necessárias muito raramente, mas em outro bloco, e até acrescentei mais uma, mas sem bool's, o que acrescentaria tempo. Continuo a cavar tudo o que é possível, buscando simplificações justificadas, até agora em trabalhos de demonstração estáveis e sem erros. O fio está aberto, definitivamente vou compartilhar algo interessante ou pouco claro. Obrigado a todos vocês!

 
borilunad:

Testei todas as variantes sugeridas, e acontece que a mais rápida é esta: se (A ||| B ||| C || D) Ação();

Pergunto-me como poderia ser mais rápido do que isto: se (A) Ação(); ou se (B) Ação(); ou se (C) Ação(); ou se (D) Ação();

 
Meat:

Pergunto-me como poderia ser mais rápido do que isto: se (A) Ação(); ou se (B) Ação(); ou se (C) Ação(); ou se (D) Ação();

Desculpe, Alexey, acabei de chegar em casa! Esta versão não se encaixa, porque, como expliquei acima, Acron(); não é apenas uma função de execução, mas contém várias outras condições, comuns às anteriores, mas diferentes na direção, e, portanto, em ordem diferente de execução das ações necessárias. Como você entende, eu não poderia tornar o código mais pesado com esta variante. E, em princípio, concordo com você que sua versão poderia ser mais rápida, se Action(); fosse apenas uma chamada de uma função, nada mais. Muito obrigado pela ajuda na minha busca de soluções ótimas! Boa noite para você!
 
borilunad:
Desculpe, Alexey, acabei de chegar em casa! Esta variante não é adequada, porque, como expliquei acima, Acron(); não é apenas uma função de execução, mas contém várias outras condições, comuns às anteriores, mas diferentes na direção, e, portanto, em ordem diferente de execução das funções de ação necessárias. Como você entende, eu não poderia tornar o código mais pesado com esta variante. E, em princípio, concordo com você que sua versão poderia ser mais rápida, se Action(); fosse apenas uma chamada de uma função, nada mais. Muito obrigado pela ajuda na minha busca de soluções ótimas! Boa noite para você!
O resultado, como seria de se esperar, é da categoria: "O xampu ficou ainda mais anticaspa!!!! :)))
 
TarasBY:
O resultado, como era de se esperar, é da variedade "Shampoo ficou ainda mais anticaspa!!! :)))
Se você associa caspa em seu cabelo com insetos no código, então você certamente deve esperar, esperar, alcançar, procurar por soluções interessantes, mas não debandar!
 
borilunad:
Se você associa caspa em seu cabelo com insetos no código, então é claro que você deve esperar, esperar, alcançar, procurar soluções interessantes, mas não debandar!

E você chama este processo (de 9 páginas) de "encontrar soluções interessantes"? :)))

Na primeira página - foi uma ajuda em "ajuda", e após a segunda página houve um interesse - "qual é o caminho mais rápido". MAS a resposta a esta pergunta pressupõe conter números (já não mencionei "pureza da experiência" - estas são condições que asseguram a adequação dos resultados obtidos)... Caso contrário - sobre "shampooing"! :)))

 
TarasBY:

E você chama este processo (de 9 páginas) de "encontrar soluções interessantes"? :)))

Na primeira página - foi uma ajuda em "ajuda", e após a segunda página houve um interesse - "qual é o caminho mais rápido". MAS a resposta a esta pergunta implica em conter números (eu já não mencionei "pureza da experiência" - estas são condições que asseguram a adequação dos resultados obtidos)... :)))

Esta questão de velocidade é o que me moveu a abordar os estimados membros do fórum, "como evitar muito "ou" ...", pois acreditava-se que causava uma perda no tempo. E se alguns são movidos a entrar em polêmicas por causa de suas ambições, ou promovem persistentemente seus desenvolvimentos, isso continua sendo assunto pessoal deles, e não me diz respeito. De qualquer forma, graças a todos que responderam! Desejo sucesso a todos!
Razão: