как быстрее

 

реально есть разница в скорости исполнения или нет между двумя вариантами:

 

  1 вариант:

if(X>0 && Y>0)return(true);

  2 вариант:

if(X>0)if(Y>0)return(true);

 

второй вариант будет быстрее иполняться так как в тех случаях в случаях когда X>0 неверно, будет сразу выход из функции и Y не будет определяться лишний раз?

или в первом  варианте будет также?

 
Anatoly Garmatyuk:

реально есть разница в скорости исполнения или нет между двумя вариантами:

 

 

второй вариант будет быстрее иполняться так как в тех случаях в случаях когда X>0 неверно, будет сразу выход из функции и Y не будет определяться лишний раз?

или в первом  варианте будет также?

уже сделано таким образом, чтобы первый работал как второй.

Для проверки напишите условие, в котором первое условие вернёт ложь, а второе - ошибку. При этом ошибки выполнения не будет. К примеру:

int X=1
if(X<0 && Y/0>0)return(true);
 
Anatoly Garmatyuk:

реально есть разница в скорости исполнения или нет между двумя вариантами:

 

 

второй вариант будет быстрее иполняться так как в тех случаях в случаях когда X>0 неверно, будет сразу выход из функции и Y не будет определяться лишний раз?

или в первом  варианте будет также?

В С++ проверяется на неполное соответствие, то есть в 

if(X>0 && Y>0)return(true);
// достаточно ложного X>0, чтобы дальше выражение не вычислялось

Вроде в "новом" MQL4 тоже так сделали, а в пятерке было изначально.  

 
Anatoly Garmatyuk:

реально есть разница в скорости исполнения или нет между двумя вариантами:

 

 

второй вариант будет быстрее иполняться так как в тех случаях в случаях когда X>0 неверно, будет сразу выход из функции и Y не будет определяться лишний раз?

или в первом  варианте будет также?

Раньше сложное логическое выражение исполнялось на порядок дольше. Сейчас примерно в 2 с небольшим раза дольше простого.

Хотя все зависит от сложности  и лишних вычислений. Первый вариант предпочтительнее.

Хотя часто сложное выражение можно свести к простому. Но не всегда.

 
Victor Nikolaev:

Раньше сложное логическое выражение исполнялось на порядок дольше. Сейчас примерно в 2 с небольшим раза дольше простого.

Что значит сложное и простое?
 

Вообще-то вариантов больше 2х

if(X * Y != 0) return(true);
 
Alexander Puzanov:

Вообще-то вариантов больше 2х

так-то да, но это в частности. я к тому если идет проверка нескольких неважно каких условий, то как сделать проверку быстрее
 
Alexander Puzanov:

Вообще-то вариантов больше 2х

тоже кстати приемчик пригодится
 
Alexander Puzanov:

Вообще-то вариантов больше 2х

X=-2, Y=-2

X<0 и Y<0

-2*(-2)=4 != 0

true?

Булева алгебра в трейдинге не прокатывает, т.к. кроме 0 и 1 есть ещё кое что.

 
наверно имелось ввиду <0, а не !=0
 
Anatoly Garmatyuk:
наверно имелось ввиду <0, а не !=0

Здесь: if(X * Y != 0) return(true); ?

Я понял что <0, поэтому и сделал, чтобы было больше.

Но для <0 -2*2 опять же true.

Причина обращения: