识别C++模板约束
Identifying C++ Template Constraints
所以我需要一些帮助/提示来识别C++中的模板约束。下面是一些示例代码,共包含6个约束。我能找到明显的,但不能识别所有6…
template <class T>
T avg(const T a[], int size)
{
T sum = a[0];
for (int i = 1; i < size; i++)
sum += a[i];
return sum/size;
}
对每个约束或约束组做一个简短的解释会很好。谢谢你的帮助。
T
必须是对象类型,而不是引用,因为const T a[]
必须是有效的参数声明T
必须是可移动的或可复制的,因为它是返回类型- 由于
T sum = a[0]
,T
必须是可复制的 - 由于
sum += a[i]
,T
必须允许类型为T
的对象使用t += s
- 由于
sum/size
,T
必须可以被整数整除 - 分离的结果必须是
T
,或者必须至少隐式转换为T
,因为函数返回T
1-2。必须是T类型的数组。
3.大小必须是整数。
4.尺寸必须小于或等于a的长度。
5.接收返回的变量必须为T类型。
6.数组的长度必须大于或等于1。
相关文章:
- 函数作为模板参数,是否对返回类型强制约束
- 约束和显式模板实例化
- IpOpt拒绝解决不受约束的问题
- 使用C++模板时表达约束
- 如何在 SCIP C++ 接口中获取 MILP 约束矩阵中的系数值
- 受约束的成员函数和显式模板实例化
- 具有多种约束(例如重量、体积等)的背包
- Gecode 与 Z3 用于约束随机化
- 如果原型是本地的,则使用流 I/O C++类型约束将失败
- C++打开具有 2 个约束的文件
- 如何拥有受约束的运算符模板?
- 不生成单独约束的变量的 Gurobi 影子价格
- 在 C++20 中对概念约束函数进行排序的规则是什么?
- 如何使用 g2o 优化多约束函数
- 约束类模板函数以接受特定的 POD 类型
- 约束包容是否仅适用于概念?
- 检查特定txt文件中的项目是否符合"名称编号USACO"中的约束
- 对类模板成员的显式专用化的约束
- 如何在没有外部库的情况下使用C++03约束执行基于正则表达式的字符串操作
- TS 概念类型名约束