使用constexpr来确定数组指针的大小

时间:2017-04-11 16:25:13

标签: c++ constexpr auto decltype

我使用constexpr来声明std :: array的大小。

constexprt auto sizearr = 99;

基于sizearr的编译时类型推导,我想找到用于迭代数组的索引类型

char offset; //Class member

当sizearr改为

constexprt auto sizearr = 65000;

我希望offset被自动声明为int类型而不是手动更改为int。

我假设必须有混合auto,decltype和constexpr才能做到这一点。

1 个答案:

答案 0 :(得分:0)

使用log2(arraysize)/ 8(强制转换为int)作为非类型模板参数N.

模板是一个结构模板,用于定义您需要的类型。

基于N的值进行部分专门化。