【发布时间】:2019-06-29 03:29:06
【问题描述】:
我正在学习 Rust 作为初学者。 我很好奇我们如何使用数值作为泛型参数,这些参数将在编译时编译,类似于 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;
}
【问题讨论】:
-
Const 泛型仍然不稳定,如下所示,但您可以尝试使用宏。它们在 Rust 中比在 C++ 中更强大。