Podręcznik
Wersja podręcznika: 1.0
Data publikacji: 01.01.2022 r.
7. Instrukcje sterujące
7.2. Instrukcja warunkowa
Instrukcja warunkowa w języku C++ ma następującą składnię:
if (wyrażenie_warunkowe)
// instrukcja wykonywana jeśli wyrażenie jest prawdziwe
else // else jest opcjonalne
// instrukcja wykonywana jeśli wyrażenie nie jest prawdziwe
Nie ma obowiązku podania bloku else – co więcej, jak to widzieliście wcześniej, można też postawić instrukcję pustą w części wykonywanej jeśli wyrażenie jest prawdziwe.
To nie jedyne dopuszczalne udziwnienie w C++. Poniżej prezentujemy inny rzadziej spotykany, lecz poprawny kod:
int main()
{
if ( int a = x + 2 > 0 )
cout << a << endl;
return 0;
}
Zauważcie, że w wyrażeniu będącym argumentem instrukcji if została zdefiniowana zmienna, która jest dostępna w instrukcji podporządkowanej (podobnie byłoby jeśli instrukcją podporządkowaną byłaby instrukcja złożona). W C++ jest to dopuszczalne, co więcej - jest to równoważne poniższemu zapisowi:
int main()
{
if ( int a = x + 2; a > 0 )
cout << a << endl;
return 0;
}
Ciągle nie ma to za wiele sensu, ale poniżej macie przykład kodu, który wykorzystuje tą składnię sensowniej:
int main()
{
std::vector<double> v;
...
if (auto n=v.size())
std::cout << "Rozmiar wektora to " << n << std::endl;
else
std::cout << "Wektor jest pusty\n"
...
}