Weil die Bit-Shift-Operatoren einen Wert zurückgeben.
Du willst das:
%Vor%Die Schichtoperatoren verschieben nicht "an Ort und Stelle". Sie könnten an die andere Version denken. Wenn sie es taten, wie viele andere C ++ - Binäroperatoren, hätten wir sehr schlimme Dinge passieren.
%Vor% Sie geben den Wert des Ausdrucks (i << 1);
nicht auf i
zurück.
Versuchen Sie:
%Vor%Oder (gleich):
%Vor%Tags und Links c++ bitwise-operators