Operator przypisania - pytanie

0

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

1

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).

0
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);

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