【发布时间】:2015-11-17 08:56:09
【问题描述】:
在使用模板时我注意到了一些有趣的事情(我还在学习 c++,所以希望我没有搞砸这个示例代码):
template <class T>
T Pyramid<T>::getValue(int row, int col) {
return data[triangleNum[row] + col];
}
为什么我们手动将T 参数(在此函数中命名)指定为class? T 将成为一个类不是很明显吗,或者这是否意味着我们可以允许在模板中使用其他数据类型?
那么,如果我们要从头开始重新创建数组,我们可以这样做吗?如果可以,允许哪些数据类型,以及对此有何限制?
# template <class T, int length>
CustomArray<float, 365> dailyIncome;
【问题讨论】:
-
@user657267 这是相关的,因为现在我知道
typename是另一个可能的值,但仍然没有回答有关其他数据类型的问题,例如在我的示例中,int。 -
答案是
class在这种情况下并不意味着class,它只是重新用于模板(在引入typename关键字之前)。 -
IQAndreas:您可能想查看
std::array中与您的CustomArray相距不远的标准中的示例