Witam.
Spotkałem się ostatnio z zapisem:
int a = (3,4,6);
kod z taką instrukcją się kompiluje i zmienna a ma przypisaną wartość 6. Czemu 6? I co to za konstrukcja bo nigdzie nie mogę znaleźć o tym informacji?
Pozdrawiam
Witam.
Spotkałem się ostatnio z zapisem:
int a = (3,4,6);
kod z taką instrukcją się kompiluje i zmienna a ma przypisaną wartość 6. Czemu 6? I co to za konstrukcja bo nigdzie nie mogę znaleźć o tym informacji?
Pozdrawiam
ponieważ przecinek to taki operator w C++, który zwraca wartość stojącą po jego prawej stronie. Skoro 6 stoi najbardziej po prawej to zostanie zwrócone jako wartość wyrażenia (3,4,6).
oo3 napisał(a):
co to za konstrukcja bo nigdzie nie mogę znaleźć o tym informacji?
wpisując w google "c++ operator przecinek" i różne temu podobne, znalazłbyś informacje o tym ;)
Operator ten wykonuje instrukcje znajdujące się po jego lewej stronie i jak słusznie stwierdził @kaboom zwraca wartość znajdującą się po prawej. Do czego taki dziwny twór? W twoim wypadku nie ma on raczej większego sensu ale stosowałeś go pewnie nieraz nie zastanawiając się nad tym. Mianowicie wykorzystuje się go często w instrukcjach sterowania przepływem przykładowo w pętli for, gdy posiadasz więcej liczników lub wykonujesz dodatkowo jakieś operacje poza samą inkrementacją licznika.
Przykładowy kod:
int a = 0, b = 2;
int c = (a = 2, b = 4, a += 2, b += a, 5*4);
po wykonaniu tych instrukcji zmienna a == 4; b == 8; c == 20
lub:
for(int i = 0; i < 5; cout << "licznik : " << i, cout << "\r\n", ++i);