ev-abseil-array-graph-hash-002¶
| 字段 | 值 |
|---|---|
| 项目 | abseil/abseil-cpp |
| 固定 commit | 2065f4ded055 |
| 路径 | absl/synchronization/internal/graphcycles.cc |
| 行段 | L337-L342 |
| 特性 | std::array |
| 许可证 | Apache-2.0 |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-11-03 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
用 std::array 声明编译期大小的哈希桶数组,容量来自 constexpr 常量
为什么典型¶
桶数由 constexpr 常量给出,数组长度随类型一起确定;成员数组随对象内联存放,不需要堆分配或单独记录容量。
摘录¶
private:
// Number of buckets in hash table for pointer lookups.
static constexpr uint32_t kHashTableSize = 262139; // should be prime
const Vec<Node*>* nodes_;
std::array<int32_t, kHashTableSize> table_;
备注¶
生产路径;constexpr 常量既作桶数又作数组长度,是 std::array 与编译期计算配合的常见模式。