Podczas zabawy z operatorem ++
, starałem się napisać następujące:Co zwraca operator ++ (lub -)?
++i++;
Spodziewałem to skompilować na początku, ale mam błąd kompilatora:
The operand of an increment or decrement operator must be a variable, property or indexer.
Następnie próbowałem pisać ++(i++)
, aby pomóc kompilatorowi zrozumieć, co miałem na myśli, ale także (co nie powinno dziwić) nie zadziałało.
Więc zastanawiam się, co zwróci operator ++
? Z błędem kompilatora jestem coraz Spodziewałem ++i
aby nie zwracać int
reprezentujący wartość i
zwiększany, ale to też nie jest przypadek, ponieważ mogę zrobić i = (++i) + 1
z powodzeniem ...
Ktoś ma jakiś pomysł, dlaczego ++
Operator nie może być powiązany?
Również, (++i).GetType()
zwraca System.Int32
.
Należy spojrzeć na C++ Operator przeciążenie może będzie to wyczyścić rzeczy http://stackoverflow.com/questions/4421706/operator-overloading –
prostu ciekawi, czy (++ i) ++ kompilować? Nie mam przed sobą VS, więc nie mogę tego sprawdzić. – RLH
Nie, nie ma. Ponieważ '++ i' zwraca wartość' i' inkrementowaną, a nie samą zmienną. (Z tego co właśnie się nauczyłem: P) – Bun