Co to oznacza?

0

(lp ? 0 : 1 )

0

jesli lp!=0 zwraca 0, a jesli lp==0 to zwraca 1

0

Tak, jest to skrócona wersja IF (in-line)...

Chciałbym tu powiedzieć, że z tego co mi wiadomo jest ona szybsza od zwykłego IF, ale programy w których jest uzyte zajmują więcej miejsca po kompilacji. Niestety nie udało mi się tego potwierdzić.

0

(...) jest ona szybsza od zwykłego IF, ale programy w których jest uzyte zajmują więcej miejsca po kompilacji (...)

Sądzę, że to zależy od implementacji kompilatora, więc stwierdzenia takie są stwierdzeniami typu "język A jest szybszy od języka B".

0

Tak, jest to skrócona wersja IF (in-line)...

Nie :)
1) Ternariusz jest operatorem, a if instrukcją warunkową;
2) W operatorze ?: nie mogą wystąpić instrukcje złożone {} - w if mogą;
3) Ternariusz wymaga wyrażeń tego samego typu po obu stronach ":", a w if po 2 stronach else może być cokolwiek;
4) Operator ten zwraca wynik realizowanej instrukcji - if nie ma takiej możliwości.
Np.

a=(b)?c:d;
if (b) a=c; else a=d;

1 użytkowników online, w tym zalogowanych: 0, gości: 1