有没有办法在Rust中使用显式表示类型进行C++样式枚举?例:
enum class Number: int16_t {
Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine
};
Run Code Online (Sandbox Code Playgroud)
如果没有,还有另一种方法可以组织这样的变量吗?我正在与外部库连接,因此指定类型很重要.我知道我可以这样做:
type Number = int16_t;
let One: Number = 1;
let Two: Number = 2;
let Three: Number = 3;
Run Code Online (Sandbox Code Playgroud)
但在我看来,这引入了很多冗余;
注意这个问题不是重复的是否可以在Rust中包装C枚举?因为它是关于包装C++,而不是包装C.
A.B*_*.B. 11
您可以为枚举指定表示形式.
#[repr(i16)]
enum Foo {
One = 1,
Two = 2,
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
801 次 |
最近记录: |