>>9
Point being? Even floating point addition is not commutative.
>>12
As with everything, you have to be mindful of the domain you're working in. Even in mathematics a product can mean any number of different operations as long as they follow a set of rules. C++ has roots in academics so it's not surprising the language allows for something akin to a Hilbert space definition.