# 未定义行为与安全检查清单

## 别名与类型安全

- `reinterpret_cast` 是否用于绕过类型系统且违反严格别名或可证对齐/生命周期要求。
- `const_cast` 去掉底层 `const` 后是否写入原本应为只读的对象。

## 边界与算术

- 数组、`*_bound`/`at` 与裸指针算术是否在 diff 中显示可能越界或差一错误。
- 有符号整数溢出是否被当作可依赖行为（C++ 中通常为 UB，除非使用明确安全类型或检查）。

## 空指针与未初始化

- 解引用前是否缺少可证非空检查，或从可能为空的 `optional`/指针直接取值。
- 未初始化读取、未默认成员在 ctor 外使用是否在 diff 中可见。

仅在 diff 能支撑结论时报告问题；不推断优化级别或编译器特有行为。
