是否可以将最后 3 个元素转换为
std::array<double, 4>
to
std::array<double, 3>
?
例如:
void f(std::array<double,3> &);
...
int main() {
std::array<double,4> a;
...
f(/* pass a[1], a[2] and a[3] */);
}
编辑:
上下文:有几个由不同函数(不同 f()-s)计算的晶格自旋(点)属性。这些函数应该填充数组的不同部分。(数组不能是结构,因为数字元素取决于编译时参数。)那些 f()-s 被调用了数百万次。