C++20 introduced concepts to enhance template programming. Concepts define constraints on template parameters. This improves error messages and code readability. They help ensure that template arguments meet specific criteria. Here’s an example:
“`cpp
#include
#include
using namespace std;
template
concept Addable = requires(T a, T b) { a + b; };
template
T add(T a, T b) { return a + b; }
int main() {
cout << add(5, 10) << endl; // Outputs 15
return 0;
}
```
In this code, the `Addable` concept ensures that types support addition. This simplifies code maintenance and reduces errors.