在C++中,我们可以从另一个类派生一个类,如下所示:
template<int N>
struct MyType {
int arr[N];
};
template<typename T, int E>
struct ModType;
template<int N, int E>
struct ModType<MyType<N>, E> {
typedef MyType<N+E> extend_type;
};
因此,使用ModType〈〉,我们可以从一个数据类型派生出另一个数据类型,在Rust中,我们似乎不能在struct
中使用type
,我们如何在Rust中实现类似的功能呢?
1条答案
按热度按时间uklbhaso1#
这在stable rust中是不可能的,因为const泛型上的算法还不稳定,nightly feature的标志是
generic_const_exprs
。这是它在夜间Rust上的样子。注意,语法和语义可能会在特性稳定时发生变化。
这是将给定的C++代码直接重新实现到Rust中。根据您试图用此代码解决的问题,可能有一种更Rusty的方法来处理它。