我想静态初始化巨大的(兆字节)uint8_t数组.
一开始我试过这个:
constexpr uint8_t arr[HUGE_SIZE] = { 0, 255, ... };
不幸的是,上面的编译时间很长(没有优化 - 大约30秒,优化 - 小时以上).
我发现如果我们使用c样式字符串初始化,编译时间可以减少到可以忽略不计(在优化关闭和开启情况下):
constexpr uint8_t arr[HUGE_SIZE + 1] = "\x00\xFF\x...";
这是C++中的好方法吗?我应该使用一些字符串文字来使上述赋值的两面类型相等吗?