C++: cout << -1/2 evaluates to 0
Python: -1/2 evaluates to -1.

Why is this the case?
From the Python docs (emphasis mine):

The / (division) and // (floor division) operators yield the quotient of their arguments. The numeric arguments are first converted to a common type. Plain or long integer division yields an integer of the same type; the result is that of mathematical division with the ‘floor’ function applied to the result. 

The floor function rounds to the number closest to negative infinity, hence -1.
Why is -1/2 evaluated to 0 in C++, but -1 in Python?