c-union

star 463

使用union实现C++结构体,支持通过xyz、rgb及数组v[3]三种方式访问同一内存,并采用typedef tagFoo {} Foo;的命名风格。

ECNU-ICALK By ECNU-ICALK schedule Updated 3/2/2026

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

  1. Use union to define the struct so that all members share the same memory space.
  2. Include an anonymous struct with members x, y, z (type uint8_t).
  3. Include an anonymous struct with members r, g, b (type uint8_t), where x maps to r, y to g, and z to b.
  4. Include an array member v[3] (type uint8_t) for array-style access.
  5. Use the typedef struct tagFoo {} Foo; pattern for the type definition.
  6. 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结构体
Install via CLI
npx skills add https://github.com/ECNU-ICALK/AutoSkill --skill c-union
Repository Details
star Stars 463
call_split Forks 47
navigation Branch main
article Path SKILL.md
More from Creator