小编Phi*_*hil的帖子

Rust 相当于 C++ 与匿名结构的联合

是否有与以下 C++ 示例(我为这个问题编写的)等效的 Rust:

union example {
    uint32_t fullValue;

    struct {
        unsigned sixteen1: 16;
        unsigned sixteen2: 16;
    };


    struct {
        unsigned three: 3;
        unsigned twentynine: 29;
    };

};

example e;
e.fullValue = 12345678;

std::cout << e.sixteen1 << ' ' << e.sixteen2 << ' ' << e.three << ' ' << e.twentynine;
Run Code Online (Sandbox Code Playgroud)

作为参考,我正在编写一个 CPU 模拟器,并且能够轻松地拆分出这样的变量的二进制部分并通过不同的名称引用它们,使代码更加简单。我知道如何在 C++ 中执行此操作(如上所述),但正在努力找出如何在 Rust 中执行等效操作。

rust

3
推荐指数
1
解决办法
999
查看次数

标签 统计

rust ×1