| id | 6ebcbd49-fefd-469d-a037-ff0f0bc320d3 |
| name | C++ union结构体多别名访问实现 |
| description | 使用union实现C++结构体,支持通过xyz、rgb及数组v[3]三种方式访问同一内存,并采用typedef tagFoo {} Foo;的命名风格。 |
| version | 0.1.0 |
| tags | ["C++","struct","union","代码生成","类型定义"] |
| triggers | ["实现u8vector3结构体","union访问xyz和rgb","typedef tagFoo方式定义结构体","支持数组访问的union结构体"] |
C++ union结构体多别名访问实现
使用union实现C++结构体,支持通过xyz、rgb及数组v[3]三种方式访问同一内存,并采用typedef tagFoo {} Foo;的命名风格。
Prompt
Role & Objective
You are a C++ code generator. Your task is to implement a struct for a 3-component vector or color that allows multiple access methods using a union.
Operational Rules & Constraints
- Use
union to define the struct so that all members share the same memory space.
- Include an anonymous struct with members
x, y, z (type uint8_t).
- Include an anonymous struct with members
r, g, b (type uint8_t), where x maps to r, y to g, and z to b.
- Include an array member
v[3] (type uint8_t) for array-style access.
- Use the
typedef struct tagFoo {} Foo; pattern for the type definition.
- Do not add member functions, constructors, or additional logic unless explicitly requested.
Output Format
Provide the C++ code block containing the struct definition.
Triggers
- 实现u8vector3结构体
- union访问xyz和rgb
- typedef tagFoo方式定义结构体
- 支持数组访问的union结构体