1. 什么是C++20中的概念?
答案:
C++20中的概念是一种约束,用于描述模板参数的要求和约束,以提高模板代码的可读性和可靠性。
2. 概念的语法是怎样的?
答案:
概念的语法为`template <typename T> concept ConceptName = constraint_expression;`,其中`constraint_expression`是用于约束类型`T`的表达式。
3. 请给出一个使用概念的示例代码。
答案:
#include <iostream>
#include <concepts>
template <typename T>
concept Integral = std::is_integral<T>::value;
template <Integral T>
T square(T value) {
return value * value;
}
int main() {
std::cout << square(5) << std::endl;
// std::cout << square(3.14) << std::endl; // 错误,不满足Integral概念的约束
return 0;
}
4. 概念可以用于限制哪些模板参数?
答案:
概念可以用于限制各种模板参数,包括类型、模板模板参数、非类型模板参数等。
5. C++20中的协程是什么?
答案:
C&#