我需要一个常量常量数组,它的常量(常量常量数组的元素)可以在只能使用编译时间常量的地方使用,比如数组长度定义。
例如:
int a[ my_const_array_of_const[0] ];
int b[ my_const_array_of_const[1] ];
template<int p>
foo() { ... };
foo< my_const_array_of_const[2] >();
我尝试过其他答案的解决方案,但它们不够“恒定”,编译器在上述情况下使用它们时不会给出错误。
如何创建“my_const_array_of_const”常量以在这种情况下进行编译?
我需要它来配置高层次综合 (HLS) 设计。对于 HLS,C++ 语法受到限制。不允许动态内存,因此我需要使用静态数组。此外,所有编译时间常量都可用于优化硬件加速器(这就是使用模板参数而不是变量的原因)。
最佳答案
关于c++ - const 的 const 数组,在数组长度定义上使用其元素或给模板参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44592986/