È possibile evitare molti "o" (||) nelle condizioni che causano la stessa azione? - pagina 9

 
borilunad:
Grazie! Ora proverò quelle staffe!
Questa opzione mi ha ridotto di mezzo minuto. E in generale, il tempo potrebbe essere aumentato a causa di alcuni cambiamenti nell'algoritmo. Non ho tempo di controllare a fondo ora, controllerò più tardi e lo cercherò! Grazie!
 
Vinin:

Ma devi controllare tutte le opzioni che offri. Altrimenti potreste commettere un errore.
Non mancherò di controllare! Sono il primo interessato!
 
PapaYozh:

Per evitare che gli avvisi ingombrino gli occhi, usate {}: {}

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


È come grattarsi la nuca con un tacco :) Perché quattro operazioni extra e una linea superflua? Perché la versione originale era così:

if (A || B || C || D) Action();
Ed è particolarmente divertente che il topicstarter abbia scelto la tua variante tra tutte quelle offerte ))
 
Meat:


È come grattarmi la nuca con un tacco :) Perché 4 operazioni e una linea in più? Dopo tutto, la versione originale era così:

Ed è particolarmente divertente che il topicstarter abbia scelto la tua variante tra tutte quelle offerte ))

Ho provato tutte le opzioni proposte, ed è risultato che la più veloce è questa: if (A || B || C || D) Action();

Per ridurre il tempo, ho fatto alcune condizioni, che sono necessarie molto raramente, ma in un altro blocco, e ne ho anche aggiunto un altro, ma senza bool, che aggiungerebbero tempo. Continuo a scavare in tutto il possibile, cercando semplificazioni giustificate, finora sulla demo funziona in modo stabile e senza errori. Il thread è aperto, sicuramente condividerò qualcosa di interessante o poco chiaro. Grazie a tutti!

 
borilunad:

Ho provato tutte le varianti suggerite, e risulta che la più veloce è questa: if (A || B || C || D) Action();

Mi chiedo come potrebbe essere più veloce di questo: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

 
Meat:

Mi chiedo come potrebbe essere più veloce di questo: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

Scusa, Alexey, sono appena tornato a casa! Questa versione non si adatta, perché, come ho spiegato sopra, Acron(); non è solo una funzione di esecuzione, ma contiene diverse condizioni in più, comuni alle precedenti, ma diverse nella direzione e, di conseguenza, in diverso ordine di esecuzione delle azioni necessarie. Come capite, non ho potuto appesantire il codice con questa variante. E in linea di principio sono d'accordo con te che la tua versione potrebbe essere più veloce, se Action(); fosse solo una chiamata di una funzione, niente di più. Grazie mille per l'aiuto nella mia ricerca di soluzioni ottimali! Buona notte a voi!
 
borilunad:
Scusa, Alexey, sono appena tornato a casa! Questa variante non è adatta, perché, come ho spiegato sopra, Acron(); non è solo una funzione di esecuzione, ma contiene diverse condizioni in più, comuni alle precedenti, ma diverse nella direzione e, di conseguenza, in diverso ordine di esecuzione delle funzioni di azione necessarie. Come capite, non ho potuto appesantire il codice con questa variante. E in linea di principio sono d'accordo con te che la tua versione potrebbe essere più veloce, se Action(); fosse solo una chiamata di una funzione, niente di più. Grazie mille per l'aiuto nella mia ricerca di soluzioni ottimali! Buona notte a voi!
Il risultato, come ci si può aspettare, è della categoria: "Lo shampoo è diventato ancora più antiforfora!!!"! :)))
 
TarasBY:
Il risultato, come ci si può aspettare, è del tipo "Lo shampoo è diventato ancora più antiforfora!!!". :)))
Se si associa la forfora nei capelli con gli insetti nel codice, allora ci si deve certamente aspettare, sperare, realizzare, cercare soluzioni interessanti, ma non fare il passo più lungo della gamba!
 
borilunad:
Se si associa la forfora nei capelli con gli insetti nel codice, allora naturalmente ci si deve aspettare, sperare, realizzare, cercare soluzioni interessanti, ma non fare il passo più lungo della gamba!

E lei chiama questo processo (lungo 9 pagine) "trovare soluzioni interessanti"? :)))

Nella 1a pagina - era un aiuto su "aiuto", e dopo la 2a pagina c'era un interesse - "qual è il modo più veloce". MA la risposta a questa domanda presuppone che contenga delle cifre (non ho già menzionato la "purezza dell'esperimento" - queste sono condizioni che garantiscono l'adeguatezza dei risultati ottenuti)... Altrimenti - a proposito di "shampoo"! :)))

 
TarasBY:

E lei chiama questo processo (lungo 9 pagine) "trovare soluzioni interessanti"? :)))

Nella 1a pagina - era un aiuto su "aiuto", e dopo la 2a pagina c'era un interesse - "qual è il modo più veloce". MA la risposta a questa domanda presuppone che contenga delle cifre (non ho già menzionato la "purezza dell'esperimento" - queste sono condizioni che garantiscono l'adeguatezza dei risultati ottenuti)... :)))

Questa questione della velocità è ciò che mi ha spinto a rivolgermi agli stimati membri del forum, "come evitare un sacco di "o"...", come si crede che causa una perdita di tempo. E se alcuni sono spinti ad entrare in polemica a causa delle loro ambizioni, o si ostinano a promuovere i loro sviluppi, restano affari loro personali, e non mi riguardano. Comunque, grazie a tutti quelli che hanno risposto! Auguro successo a tutti!
Motivazione: