Update CppCoreGuidelines.md

This commit is contained in:
Andrew Pardoe 2017-10-23 11:22:02 -07:00 committed by GitHub
parent 17f76d0258
commit 19d7fb1421

View File

@ -16251,11 +16251,11 @@ and should be used only as building blocks for meaningful concepts, rather than
int x = 7;
int y = 9;
auto z = plus(x, y); // z = 16
auto z = algo(x, y); // z = 16
string xx = "7";
string yy = "9";
auto zz = plus(xx, yy); // zz = "79"
auto zz = algo(xx, yy); // zz = "79"
Maybe the concatenation was expected. More likely, it was an accident. Defining minus equivalently would give dramatically different sets of accepted types.
This `Addable` violates the mathematical rule that addition is supposed to be commutative: `a+b == b+a`.