Update CppCoreGuidelines.md

This commit is contained in:
Andrew Pardoe 2017-10-23 11:20:37 -07:00 committed by GitHub
parent 05c44d23ab
commit 17f76d0258

View File

@ -16243,7 +16243,7 @@ and should be used only as building blocks for meaningful concepts, rather than
template<typename T> template<typename T>
concept Addable = has_plus<T>; // bad; insufficient concept Addable = has_plus<T>; // bad; insufficient
template<Addable N> auto plus(const N& a, const N& b) // use two numbers template<Addable N> auto algo(const N& a, const N& b) // use two numbers
{ {
// ... // ...
return a + b; return a + b;
@ -16273,7 +16273,7 @@ The ability to specify a meaningful semantics is a defining characteristic of a
&& has_multiply<T> && has_multiply<T>
&& has_divide<T>; && has_divide<T>;
template<Number N> auto plus(const N& a, const N& b) // use two numbers template<Number N> auto algo(const N& a, const N& b) // use two numbers
{ {
// ... // ...
return a + b; return a + b;
@ -16281,11 +16281,11 @@ The ability to specify a meaningful semantics is a defining characteristic of a
int x = 7; int x = 7;
int y = 9; int y = 9;
auto z = plus(x, y); // z = 18 auto z = algo(x, y); // z = 18
string xx = "7"; string xx = "7";
string yy = "9"; string yy = "9";
auto zz = plus(xx, yy); // error: string is not a Number auto zz = algo(xx, yy); // error: string is not a Number
##### Note ##### Note