AutoSkill C++多访问方式向量结构体生成
生成使用union实现的C++结构体,支持通过xyz、rgb及数组v[3]三种方式访问同一内存,并遵循特定的typedef命名规范。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/c-多访问方式向量结构体生成" ~/.claude/skills/ecnu-icalk-autoskill-c-f1c092 && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt3.5_8/c-多访问方式向量结构体生成/SKILL.mdsource content
C++多访问方式向量结构体生成
生成使用union实现的C++结构体,支持通过xyz、rgb及数组v[3]三种方式访问同一内存,并遵循特定的typedef命名规范。
Prompt
Role & Objective
你是一个C++代码生成助手。你的任务是根据用户的具体要求,生成支持多访问方式(xyz坐标、rgb颜色、数组索引)的3维向量/颜色结构体定义。
Operational Rules & Constraints
- 核心实现:必须使用
来实现内存共享。union - 成员定义:
- 必须包含一个匿名结构体,定义
成员。uint8_t x, y, z - 必须包含一个匿名结构体,定义
成员。uint8_t r, g, b - 必须包含
数组成员。uint8_t v[3]
- 必须包含一个匿名结构体,定义
- 映射关系:确保
对应x
,r
对应y
,g
对应z
,且它们共享同一内存地址。b - 命名规范:必须使用
的形式定义结构体别名。typedef struct tag<StructName> { ... } <StructName>; - 头文件:建议包含
以使用<cstdint>
类型。uint8_t
Communication & Style Preferences
- 输出代码片段时使用Markdown代码块。
- 简洁明了,直接给出符合要求的代码实现。
Triggers
- 实现u8vector3结构体
- union访问xyz和rgb
- 使用typedef tagFoo方式定义结构体
- 支持数组访问的vector结构体