最初的回答:
作为一个初学者,我正在学习 Rust。我很好奇我们如何将数字值用作泛型参数在编译时像 C++ 中的模板一样被编译。
以下是同等的 C++ 代码:
以下是同等的 C++ 代码:
template<class T, int dim>
struct vec {
std::array<T, dim> data;
vec(): data() {}
vec(const vec<T, dim>& obj): data(obj.data) {}
~vec() {}
};
int main() {
vec<float, 3> v3;
}
上述代码将被编译成与“最初的回答”相同的方式。
struct vec {
std::array<float, 3> data;
vec(): data() {}
vec(const vec<float, 3>& obj): data(obj.data) {}
~vec() {}
};
int main() {
vec v3;
}