2017-04-11 52 views
0

我正在使用constexpr来声明std :: array的大小。使用constexpr来确定数组指针的大小

constexprt auto sizearr = 99; 

根据对sizearr我想找到用来遍历数组

char offset; //Class member 

指数的类型时sizearr改为

constexprt auto sizearr = 65000; 

编译时类型推导我想偏移自动申报作为int类型而不是手动更改为int。

我假设必须有方法来混合auto,decltype和constexpr来做到这一点。

+4

是不是该指数为'性病类型:: array'总是'的std :: size_t'? http://en.cppreference.com/w/cpp/container/array – jwimberley

回答

0

使用的log 2(ARRAYSIZE)/ 8(强制转换为int)作为非类型模板参数N.

模板是规定,你需要一个类型结构模板。

部分专门基于N的值